왜 학교에서는 분석과 설계에 대해서 가르쳐 주지 않는가?
[](http://www.flickr.com/photos/33685308@N00/513100970 "The locker misery") The locker misery by [Abdullah AL-Naser](http://www.flickr.com/photos/33685308@N00)[](http://creativecommons.org/licenses/by-nc-sa/2.0/kr/) |
프로그램을 배우고 쓰고, 코딩이라는 것을 한지 어언, 4년.C언어 부터 시작해서 C++, 그리고 지금 C#을 쓰면서, (중간에 자바를 배우긴 했지만,) 점점 크게 느끼는 것은, 분석과 설계 그리고 문서의 중요성인거 같다.
학부 4학년때.
두개의 프로젝트를 했었다.
교수님이 요구하는 사항은 랩미팅 마다 바뀌었고, 어쩌면 우리가 잘 못알아 들었던것 같았던것 같다. 매일보는 DFD에 질렸었고, 랩미팅 전에는 프로젝트 개발정도를 나타내틑 차트를 올리는 것만 생각했던것 같다.
지금 생각해 보면, 추억이고, 경험이지만, 그때 좀더 누군가가 분석과 설계에 대해서 그리고, 문서화 해 놓는것에 대해서 잘 알려주었다면, 좋았을것 같다. 직관적으로 떠오르는 아이디어나 알고리즘, 해결방법들을 아무렇게나 코딩했던 내 자신이 지금은 너무 부끄럽다. 예외처리 조차 하지 않았고, 어쩌면, 예외가 발생하지 않을거라고 생각했고, 그렇게 테스트 했었다.
얼마전부터 프로젝트를 시작했다. 예전에 했던 프로젝트와는 달리 이것은 다른 사람이 이미 대부분의 시스템을 구현해 놓은 상태이며, 난 그중에 추가되는 일 부분을 구현하는 일을 맡았다. 워낙 시스템이 커서 그런지, 분석을 오래 하게 되는것 같지만, 하나하나 자세히 해야겠다는 마음가짐이 지루함을 짓눌러 버리고 있다. 왜 주석을 거의 달지 않았는지 만나면 꼭 물어보고 싶다. ㅠ
그리고 오늘 1차 설계를 마무리 했다. 제대로 요구사항을 반영했는지 궁금하기까지 하다. 상세한 설계는 아니였고, DFD와 필요한것들, 그리고 어떻게 해야하는지에 대해서 모식도로 그려보았다. 무려 5시간 동안. 그리 크지 않은 부분이라 짧은 시간만에 했지만, 박사님의 요구사항에 맞는지 나중에 가서 검토를 받아야 할것 같다.