2013년 1월 27일 일요일

[Java] 자바 프로젝트

몇일 동안 프로젝트를 진행하였다. 손님이 직접 주문을 하는 형태의 네트워크를 활용한 프로그램이다. 네트워크를 맡아 진행해오면서 고민했던 부분들과 새로 알았던 부분들을 잊어버리지 않도록 하자.

프로젝트를 진행하면서 가장 먼저 기본적인 틀이 중요하다고 생각했다. 아이디어회의를 통해 생각한 기능과 UI를 조잡스럽지만 빠르게 기본골격을 갖추고 진행한 것이 마무리하는 날까지 많은 도움이 되었다.

두 번째는 기능과 기능의 연관관계를 어떻게 세우는가이다. 사실 이부분이 처음엔 제일 막막했다. 실제 구현가능한 범위와 배웠던 부분을 활용하여 하나씩해나가긴 했지만 처음에 클래스를 어떻게 만들어 서로 연계시킬지, 또는 객체지향적인 측면을 살려 상속은 어떻게 할지 등 많은 고민이 있었다. 경험은 적은데 많은 것을 하려다보니 어려웠던것 같다. 하지만 잘 정리해둔 프로그램의 흐름을 완성시키면 코딩은 그렇게 어렵지 않았다. 따라서 클래스 디자인이 왜 중요한지 제대로 경험한 프로젝트였다.

세 번째는 네트워크와 관련해서 데이터를 어떤식으로 주고 받을지 많이 고민하였다. 소켓을 이용하여 데이터를 주고받는 것은 알았지만 스트림은 결국 하나만 존재하고 그 스트림에 다가 다양한 필터스트림을 연결시켰다 해제하는 것은 나로선 어려웠다. 그렇다면 객체의 정보는 어떻게 넘길것인가 고민하다가 결국 문자열을 효율적으로 다루기로 했다. 무엇이 일반 문자열이고 무엇이 주문내역서를 위한 데이터인지 구별해 주는 방향으로 가닥을 잡았다.

다행이 생각대로 문자를 처리해 주는 것이 성공!

마지막단계에 발전된 GUI와 완성된 기능을 합치고 에러를 잡아가는 과정이 길었다. 하지만 점점 코드를 보면서 정리하는 것이 재미있었다. 무엇이든지 계속 고치고 고치면 점점 나아지는 것같다.

내일이 발표라 코드와 스크린샷은 다음에 올리도록 하겠다.

댓글 없음:

댓글 쓰기