본문 바로가기

Team Projects/Suggested by Dlbo

팀프로젝트 제안서 - 동시 팀 코딩 시스템 Prototype 1.

팀프로젝트 제안서 - 팀 동시 다중 코딩시스템 프로토타입 1.














 필요 예상 인원 : 1 ~ 5명 가량.
 테스트 필요 인원 : 1 ~ 10명 가량.
 예상 구현 기간 : 3 ~ 5개월 가량.

1. 기본 요구 기능

- 1개 파일에 대해 1명의 유저만 접근해 처리하도록 하며, 프로토타입 2부터는 다른 방식을 도입.

- 모든 파일은 서버에서 관리할것.

- 컴파일 기능은 상관 없음. 기존 GCC나 다른 컴파일러로 처리하게 하는 방식 고려. 프로토타입 2부터 처리하면 됨.

- 서버의 IP를 모르더라도 접근 가능하도록 브로드캐스팅을 이용해야 함. 이를 통해 모바일 서버가 가능해 팀원들이 어디서나 작업이 가능해야 함.

- 파일 저장은 유저의 요청시마다 매번 처리하게 하며, 자동저장기능은 프로토타입 2부터 구현.

- 대화창도 추가해 접속중인 유저들이 서로 대화가 가능해야 함.

- 프로젝트별 비밀번호 사용을 가능하게 해 프로젝트별 공개/폐쇄 여부를 선택가능하게 해야 함.

- 참가한 팀원들의 프로필을 각 프로젝트별로 첨부/게시가 가능하게 할 것.

2. 설계 형식

- 언제든 정식버젼으로 컨버젼이 가능하도록 기본 MVC 패턴에 충실하게 설계할 것.

- 기본 구성은 아래와 같이 다뤄야 컨버젼이 쉬워질 것.
사용자 삽입 이미지
- 상세 필수 구조는 아래 View의 형식처럼 팩토리 패턴으로 통신Module까지 구현하면 될 것.
사용자 삽입 이미지
 

3. 기술적 주의점

- 성능저하가 크더라도 통신모델과 서버의 프로젝트 관리 부분은 싱글턴을 이용해 유일성과 안정성을 보장해야 함.

- 세부 구현은 오래걸리더라도 퍼사드패턴을 기본으로 하여 프로토타입 2, 3에서의 변환을 용이하게 한다.

- 객체지향적인 입장에서 구현해 리팩토링이 쉽도록 할 것.

- 제약성과 성능저하가 큰 Java보다는 C++로 팀원들이 코드를 통일할것.

- 스레드 사용시 컨트롤 / 뷰 / 송신 / 수신에서 싱글턴 접근시 엉키지 않도록 동기화에 유의할것.

4. 개발시 참고사항

- 여러 단계의 프로토타입을 거쳐 TDD로 개발할 예정이니 어려운 부분이나 구현이 힘든경우 다음 프로토타입으로 넘겨서 구현해도 되기 때문에 부담 가질 필요가 없음.

- 중도에 언제든 폐기될 수 있는 가벼운 프로젝트이며 정식버젼 출시 여부는 팀원들에게 달려있음.

- 저작권은 개발에 참여한 모든 팀원(프로토타입 1부터.)이 공동으로 소유함.

- 참고 추천 서적 :
윈도우 네트워크 프로그래밍, 김선우 저, 한빛미디어
윈도우 프로그래밍, 김선우, 신화선 저, 한빛미디어
Head First Design Pattern, 한빛미디어,
열혈강의 C++, 윤성우 저, 프리렉
객체지향 입문, Tucker 저, 정보문화사.

--------------------------------------------------------------------------------------------

리턴군이 춉내 빡세지 않겠냐고 해서 검토에 검토를 반복해 봤습니다만,

겁먹는다면 춉내 빡세겠지만...

이렇게 프로토타입 버젼을 여럿으로 나누고 디자인패턴에 대해 이해해가면서 접근할 경우

상당히 가볍게 접근이 가능합니다. 동시에 TCP/IP는 물론 UDP도 상당히 단순한데다가,

MFC로 윈도우 뷰를 띄우는 프로토타입 2의 개발에 들어가기 전까진 전부 널널합니다.

거기서부턴 머리가 지끈지끈 아파오지요 -ㅁ-;;

그 전까진 테스트용으로 콘솔뷰로 만들 테니 그리 어렵지 않습니다.

콘솔뷰에서 에디팅기능을 넣으려면 좀 빡세긴 하다만... 제가 VI 만들었을때처럼 변태짓을 좀 보태면

아주 간단하게 처리가 가능합니다 ㅡ.,ㅡ;;

이건 단순한 제안일 뿐이고, 하실 분이 있으면 합류하시면 됩니다.