[SW] 소프트웨어 개발 단계

in #sw7 years ago (edited)

크게 SW 개발 단계는 아래와 같이 나눠져 있다.

계획 – 요구 분석 – 설계 – 구현 – 테스트 – 반영 – 유지보수

여기서 프로세스 단계를 어떻게 하느냐에 따라 여러 모델이 있고, 프로젝트 성향에 맞는 모델을 정하고 표준 절차를 따라가면 된다.

우리 회사는 큼직한 프로젝트는 보통 폭포수 모델을 따르고,
자잘한 개선 건 같은 경우는 진화적 프로세스 모델 을 따른다.

  • 폭포수 모델 : 폭포에서 물이 떨어지듯이 앞 단계에서 다음 단계로 넘어가는 개발 방식을 폭포수 모델(Waterfall Model)이라고 하며, 고전적 생명주기(Classic Life Cycle)라고도 한다. 이 모델은 소프트웨어 공학의 대명사로 여겨질 만큼 소프트웨어 프로세스 개발 초기에 등장한 전통적인 모델이다. 공장 생산 라인의 작업 프로세스와 유사한데, 소프트웨어 개발의 표준적인 프로세스를 정하여 소프트웨어를 순차적으로 개발한다.
    [네이버 지식백과] 요약 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 한빛아카데미(주))

=> 큰 프로젝트 같은 경우 하나의 단계를 진행하고 피드백이 거쳐지면서 마무리 되면 그다음을 진행한다.
많은 업무단이 공동으로 작업하다보니 개발도중 변경되면서 진행이 지연되는 일이 없도록 하기 때문인 것 같다. 혹은 이미 정해져있는 프로젝트를 개발하는 경우 이 폭포수 모델을 사용하는 것 같다.

EX) 참여했던 프로젝트 중 KB국민 제휴카드를 시스템에 추가하는 프로젝트가 있었다. KB국민 제휴카드를 시스템에 추가하도록 정해져있던 사안에 요구사항이 변경될 부분이 없었다. 그래서 계획 후 설계 등 각각의 단계를 각 업무단에서 정해져있는 기간동안 시행하고 취합후 피드백을 거친 후 다음단계로 나아가 프로젝트를 완료하였다.
  • 진화적 프로세스 모델 : 진화적 프로세스 모델의 특징은 프로토타입을 만들어 사용자 요구 사항을 점증적으로 반영한다는 것이다. 우선 개발자는 사용자 요구 사항에 따라 가상으로 실행되는 초기 버전의 프로토타입을 만들고, 사용자는 사용자 인터페이스 중심의 화면과 실행 후 나타나는 가상의 결과 화면을 확인한다. 그런 다음 개발자는 변경·추가된 사용자 요구 사항을 반영하여 2차 프로토타입을 만들어 사용자에게 보여준다. 이 같은 작업을 반복하여 최종 제품을 완성시키는 모델이다.
    [네이버 지식백과] 요약 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 한빛아카데미(주))

대학교 다닐 때 SW공학 수업에서 애자일 프로세스 모델을 따라 홈페이지 만들기를 해보았는데.. 그닥 좋은 프로세스는 아니였던 경험이 있다.
(계속 계획만 변경하고 결국 막판에 몰아서 개발하게 되었던…)

결론 - 프로젝트에 따라 프로세스 단계를 맞춰가면 되는거같다!
Sort:  

@ekkim, I gave you an upvote on your post! Please give me a follow and I will give you a follow in return and possible future votes!

Thank you in advance!

please upvote to me thank, followback