프로그래밍 기술/프로젝트 개발 공정 가이드

[프로젝트 개발 공정 가이드] 2. 프로젝트 개발 공정 개요

언제나휴일 2016. 11. 17. 14:32
반응형

2. 프로젝트 개발 공정 개요




 비지니스 프로젝트를 개발할 때 어떠한 공정으로 진행하는 것인지 연구하는 곳은 많습니다. 그리고 이를 특정 개발 방법론으로 소개를 하는데 여기에서는 CBD 개발 방법론을 기본으로 소개할 것입니다.

 

 CBD 개발 방법론은 어러 개의 서브 프로젝트를 컴포넌트화하여 이들 사이의 관계를 정의하여 개발하는 방법론입니다. CBD 개발 방법론으로 프로젝트를 진행할 때 중간 결과물들은 CASE 도구(Rose, Together, StarUml,...)를 사용하는 부분이 생깁니다.

 

 일부 개발자들은 CASE 도구에 의해 만드는 중간 결과물을 상사에게 보여주기 위한 것이며 실효성이 떨어져서 전체 비용을 증가시킨다고 생각하기도 합니다. 하지만 이는 개발 공정을 적용하는 과정에서 왜 그러한 것들을 만드는 것인지 그리고 이를 어떻게 활용하는지 제대로 이해하지 못하거나 개발 방법론을 적용한 경험이 적어서 발생하는 것입니다.

 

 완벽한 개발 방법론은 없지만 경험에 위해 점진적으로 효율이 높은 개발 공정을 구축할 수는 있습니다. 여기에서는 씨앗으로 사용할 수 있는 개발 공정 가이드를 소개하는 것이며 여러분에 맞게 점진적으로 수정하시기 바랍니다.

 

 CBD 개발 방법론의 개발 공정은 크게 5개의 단계로 진행합니다. [그림 2.1]CBD 개발 방법론의 5개의 개발 공정을 도식한 것입니다.

CBD 개발 방법론의 개발 공정CBD 개발 방법론의 개발 공정은 5단계로 진행합니다. 1단계: 요구 분석 및 정의 2단계: 아키텍쳐링 3단계: 설계 4단계: 구현 5단계: 배포


[그림 2.1] CBD 개발 방법론의 개발 공정

 

 

 첫 번째 단계인 요구 분석 및 정의 단계에서는 기획 문서를 기반으로 작성할 시스템과 상호 작용하는 사용자와 외부 시스템을 파악합니다. 그리고 사용자와 시스템을 사용하는 외부 시스템이 어떨 때 사용하는지 및 시스템에서 어떨 때 외부 시스템을 사용하는지 정합니다. 이 때 나오는 결과물은 Usecase 다이어그램과 Usecase 상세 기술서이며 이를 그래픽 디자이너를 통해 스케치를 하시기 바랍니다.

 

 이 때 스케치는 의뢰자의 요구 사항을 제대로 파악했는지 간략하게 확인하는데 사용할 수 있습니다.

 

 두 번째 단계인 아키텍쳐링 단계에서는 이전 단계의 결과물을 바탕으로 시스템의 구조를 결정합니다. 이 때 시스템을 구성할 컴포넌트가 무엇이 있고 이들 사이의 관계를 정의합니다. 그리고 각 컴포넌트에 사용해야 할 기술이 무엇인지 파악합니다. 그리고 Usecase별로 어떠한 흐름으로 서비스를 진행할 것인지 정하고 이를 토대로 비지니스 개체 모델링 및 DB 설계를 진행합니다. 그리고 UI 파트 담당자는 스케치 및 시퀀스를 기반으로 프로토 타이핑을 진행합니다.

 

 프로토 타이핑은 스케치와 더불어 의뢰자의 요구 사항을 제대로 파악했는지 확인하는 목적이 큽니다. 개발자들이 프로젝트를 완성했다고 생각하고 의뢰한 곳에 보여주었을 때 원하는 것이 아니라고 하여 수정하는 것은 개발 비용을 높이는 제일 큰 요인입니다. 이러한 비용을 줄이기 위해서는 의뢰자의 요구 사항을 제대로 파악한 것인지 개발 앞 단계에서 검토할 필요가 있습니다.

 

 세 번째 단계는 각 컴포넌트 단위로 설계를 진행하는 것입니다. 이 때는 프로젝트 구성원의 전체 회의보다 관련 개발자끼리 부분적인 회의를 진행함으로써 불필요한 회의를 줄일 수 있을 것입니다. 만약 앞으로 비슷한 프로젝트를 진행할 확률이 높다면 설계 단계에서도 설계 도면을 작성하는 것이 미래의 비용을 줄이는 데 기여합니다.

 

 네 번째 단계는 구현 단계로 상세 설계 및 단위 테스트와 병행합니다. 규모가 있는 프로젝트라면 아키텍쳐링 단계가 끝나고 설계 단계에 들어설 때 테스트 모듈 개발을 같이 진행하여 구현한 것이 아키텍쳐링한 것에 맞는지 정확하고 빠르게 판단할 수 있게 할 수 있습니다. 하지만 규모가 작다면 테스트 모듈을 개발할 인원을 별도로 배정하기 힘들기 때문에 크로스 체크할 수 있게 테스트 모듈 개발과 설계를 병행하십시오.

 

 마지막 단계는 배포 단계로 통합 테스트와 베타 테스트를 진행하는 과정입니다.

반응형