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

in #sw6 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

Coin Marketplace

STEEM 0.26
TRX 0.21
JST 0.037
BTC 94986.45
ETH 3594.38
USDT 1.00
SBD 3.77