퇴근5분전

 개발 방법론에 대해 많은 종류가 있고 문서도 많이 있는 것을 확인했으나 일일이 따라 가기엔 너무 벅차다 싶어 회사에서는 회사에서 행하는 규칙대로 내가 움직여주면 되는 것이고 나만에 어플을 짤때는 나만에 방법을 이용해서 짜면 될듯 하여 나름 규칙을 정해본다.

 작년 초부터 가장 잘 써보고 싶은 것이 마인드맵!! 이란 툴인데. 이걸 어플 분석이나 설계에 사용하면 좋을듯 해서 방법을 고민중이다. 어떻게 하면 잘 사용할수 있을까?

 가끔 어플을 짤때면 만들고자 하는 놈을 정하고 나면 UI를 대충 그려놓고 거기에 필요한 객체들을 대충 체크하며 없는것들은 만들어낸다. 이때 가장 멍하게 만들때가 UI를 그리면서다.

 머리속에 UI를 그릴때 두가지 생각이 같이 드는데 정리가 안된다.
1. UI가 편할까?
2. UI컨트롤 배치하면서 머리속에서는 코딩이 이뤄진다.( 미친거쥐... )

이런 저런 고민하다보면 UI가 정말 어이없는 놈이 탄생하게 된다. 정말 불편하겠다 싶은...
또 label은 왜케 어렵게 써놨을까? 단축해서 쓸만한 단어도 생각이 안나고...
뭐 아직까지 혼자 쓰는 용도로 많은 어플들을 만들어서 괜찮지만.. 이 것 자체가 습관이 되면 고치기 어려운데...

뭐 우선 아래 간단한 어플 구현에 대해 나만에 방법들을 정리 해본다.
아래 나열한 방법으로 개발한 개인 어플은
 1. 개발 프레임웍( 가장 최근에 만든 놈 )
 2. 프레임웍에 딸린 디버거
 3. 코드생성기( 프레임웍에서 중복사용하는 코드들을 찍어낸다. )
 4. xmlHelper
 5. SocketHelper
 6. 브라우져( DB와 연동되어 DB데이타를 보는 놈인데 ... 버젼별로 3가지인가? 된다. )
 7. JsDokebiWindow ( 메인 프로그램이고 여기에 추가적으로 플러그인을 통해 사용프로그램을 더해서 사용하는 모듈이었음. 지금까지 만든 프로그램들을 하나로 통합해 관리 하려고 하였던... 허접한거 2개나 만들어져있다. )
 ... 기타...

요새 분석중인건 [일정관리]이다.  1차로 만들었던것도 나는 쓸만하지만... 대체로 써본사람들은 불편을 호소한다 .. 역시 UI가 문제다. 췌~~!




분석 -> 설계 -> 구현 <--> 테스트     지금까지 잡은 나름 정한 순서인데...

분석 : 만들고자 하는 어플에 대한 이해랄까?  일에 맞춰 어떤 UI면 좋을지 어떤기능을 포함하면 좋을지에 대해 간단한 스케치를 하고 DB를 xml로 할지 실제 DB를 이용할지 등등 고민하고 있다.

 툴은 마인드맵을 이용해서 간단한 기능들에 대해 적어둔다.

설계 : 분석이 마쳐질때 쯤 UI를 좀더 디테일하게 스케치 하고 파워포인트로 대충 그려본다(그리고 나면 뷁).
이 어플에 필요한 객체들이 어떤것이 있으며 객체들의 역할을 정리하며 네임스페이스를 붙여 구분하기 시작하게 됨. 조금 상세한 설명들을 주석으로 하며 객체간에 인터페이스 부분도 심각히고려하게되는 부분이 된다.
 
 툴은 마인드맵, 파워포인트.

구현 : 설계단계에서 나온 객체들을 기능별로 죄다 구현한다.  우선 메인모듈을 만들고 , 여기에 붙여지는 객체를 하나씩 하나씩 붙여가며 테스트를 겸한다.

 툴은 비쥬얼 스튜디오

테스트 : 구현하면서 간단한 모듈간 테스트를 하게 되며 객체 하나 하나가 붙어가면서 제모습을 들때쯤이면
본격적인 테스트를 시작하게 된다.


현재는 마인드맵 활용이 조금 잘못된 느낌이 자꾸 든다.
 
설계 하면서 메인에 나뭇가지로 객체들을 부착하고 거기에 기능을 넣어보고 있지만 객체가 우선인지 기능이 우선인지... 분간이 어렵고 제대로 정리가 되지 않아서 자꾸 꼬인다... 좀더 하다보면 뭔가 또 번쩍!!! 떠오르는게 있지 않을까?