잡스러운 블로그

프로젝트 진행 과정

2010. 3. 3. 14:43
나름 프로젝트 진행과정에 대해 기준을 세우고자 한다.
계속 쳇바퀴 굴러가듯 할순 없지 않나. 


1. 프로젝트의 목적 이해 / 용어 정리
- 프로젝트를 시작할 때 그냥 무작정 시작하는건 좋지 않다고 생각한다.
  내가 맡은 프로젝트가 어떤 일을 하고 어떤 역할을 하고 어떤부분이 핵심이다라는 등등 
  프로젝트의 큰 그림을 그리고 시작해야 한다. 그리고 그에 따른 용어 정리도 같이...
  아무것도 모르고 그냥 이거 해달라 저거 해달라 '갑'이 해달라고 하는데로 끌려가면 답이 없다.
  '을', '병' 도 '갑' 에게 수정/요구 를 할 수 있다. 얼토 당토 않은 스펙을 요구 한다면 그것도 문제지 않은가.
  프로젝트를 완벅히 이해하면 나머지 부분도 일사 천리 일 것이다.

2. 입 출력 사양 정리
- 핸드폰을 예를 들면 입력하는 부분은 키패드 또는 터치 스크린이 되겠고, 
  출력하는 부분은 LCD(액정), 스피커 등이 되겠다. 그 외에 여러가지 다른 디바이스가 붙겠지만 크겐 그렇다.
  입력 출력을 구분하는거엔 나중에 확장을 용이하게 하는 부분도 있다.  

3. 전체 구조 설계
- 모든 프로젝트가 그렇듯... 버그는 항상 존재하고 -ㅅ-;; 추가 수정, 기능 확장은 필수다. 
  버그도 잘 잡고, 수정도 용이하게 할려면 전체 구조 설계를 잘 해야 한다. 정말 잘 해야 한다. 
  입 출력 사양을 잘 정리 했으면 전체 구조 설계가 용이 할 것이다.
  
3-1. 문서 정리
- 본인은 대부분 설계를 손으로 써가면서 한다. 근데 손으로 쓴건 그리 오래 가지 못한다. 
  문서화 해서 철해놓지 않는 이상... 
  다시 정리를 해서 파일로 가지고 있어야 나중에 다시 볼때도 도움이 된다.
  귀찮지만 꼭 필요한 작업이다.

4. 세부 구현 설계
- 전체 구조 설계가 끝났으면 이에 필요한 구현부의 설계가 필요하다.
  전체 구조가 크면 클수록 작은 규모로 먼저 테스트가 필요하다. 
  난 크게 생각할 수 있는 능력이 있는 천재가 아니라서 먼저 작은 테스트 단위로 시험을 시작한다.
  예를 들어 버튼이 9개 있다면 하나부터, 두개 세개 ...
  그렇게 할 수 없는 구조라면 음... 그래도 하나부터 두개 세개...
  아니면 세부 구현에 대한 시간 할애를 많이 하는것도 좋겠다..
  뭐 어쩌란 말이야 -ㅅ-;; 암튼 난 작은 단위부터 테스트....

4-1. 구현에 대한 기록
- 특별한 알고리즘이나 자료구조가 기능에 들어갔으면 Library화 / 문서화 해서 
  나중에 필요할 때 바로 찾아 볼 수 있도록 정리하는게 좋다.

5. 코딩
- 이때 부터가 코딩이다. 전체 부분에 그렇게 많은 부분을 차지 않지만 술먹고 하면 안되겠지 -ㅅ-;;

6. 디버깅
- 디버깅 & 코딩 & 디버깅 & 코딩 으로 진행되다 보면 위 설계가 잘 못 되었는지를 알 수 있다.
  디버깅은 최소한으로 할수 있게 설계를 잘 짜는것이 중요할 것이다.

그냥 내 생각이다. 프로그램 설계, 프로젝트 진행 과정에 대한 마땅한 자료가 없어서
나름대로 정리해 봤는데 그닥 맘엔 안든다.-ㅅ-... 
어디 잘 정리된 문서 어디 없나....

'ETC.' 카테고리의 다른 글

키보드 단상  (0) 2012.07.02
정규표현식  (0) 2012.06.20
키보드 단상  (0) 2012.06.20
Windows XP Mode / Windows Virtual PC  (0) 2010.10.08
TEN ATTRIBUTES OF A GOOD EMPLOYEE - BILL GATES  (0) 2010.05.13

공유하기

facebook twitter kakaoTalk kakaostory naver band