동아리프로젝트! ( 5 ) : 와리가리 Server UML

Date
2009/03/27 15:47
Author
ApPLe
Categories
이제 동아리 프로젝트도 막바지를 향해 달려가고 있다!! +_+

그래서 코드 문서화 작업중 에 , starUML을 이용해서 와리가리서버 클래스 다이어그램을 그려보았당.
아래가 전체 클래스 다이어그램 .
( 스트리트아이디를 입력받는다던가하는 자질구레한 폼은 뺐다 -_-; )



자세한 설명을 하자면 ,,

이 클래스들은  GPS데이터를 mapping하여 , 웹서비스용 DB에 업데이트하고 , FTP서버에 사진을 업로드하는 부분의 클래스들이다.


CGpsPicture 클래스가 , 매칭된 CPictureFile클래스와 CGps 클래스의 인스턴스들을 포함하며 , DB에 보낼 쿼리를 생성하는 클래스이다.
CGps 클래스CPictureFile클래스는 말 그대로 GPS데이터와 , 사진파일의 데이터를 가지고있는 Entity 클래스이다.
frmUploadPicture 클래스는 C#에서의 Winform을 상속받은 클래스로 , 한마디로 폼이다 (응?=_=) . CGps클래스와 CPictureFile클래스 , CGpsPicture파일 클래스들의 리스트를 멤버변수로 가지고 있다가 , 쓰레드를 돌려서 매칭하고 , DB에 데이터를 업데이트하고 , FTP에 사진을 업로드한다.
.
.
.
아래 클래스들은 , 로봇과 TCP/IP 프로토콜을 이용하여 통신하고 역시 TCP/IP프로토콜을 이용하여 사진파일을 받는 부분의 클래스들이다.

CPacket클래스는 , 로봇에서 주는 stream형태로 오는 TCP소켓의 데이터를 byte배열의 형태로 받아 파싱하여 , 어떤 커맨드인지를 자기자신의 멤버변수에 저장하는 역할을 한다. 물론 , 반대역할도 수행한다. 서버에서 로봇에게 주는 명령을 byte배열로 변환하기도 한다.

CPhotoPacket클래스는 , 로봇에서 사진을 전송받을때 , 사진파일 데이터의 헤더를 먼저받아 사진파일명이 무엇인지 , 파일의 크기는 어떻게되는지를 파싱해서 자기자신의 멤버로 저장하는 역할을 한다.

frmMain클래스는 , C#의 Winform을 상속받은 클래스로 폼이다. private멤버로 , 명령을 받는 m_server Socket과 , 사진을 전송받는 m_photoServer Socket이 있고 , 각각의 소켓을 동기식으로 수신하는 m_serverThread , 역시 사진을 동기식 소켓으로 수신하는 m_photoThread 쓰레드 인스턴스가 있다.

.
.
.
.

뭔가 .. =_=
별로 설명이 잘되진 않았지만! 이건 정식문서가 아니므로 패스!!!
기원이형한테 문서화를 배우고나서 다시한번더!! =_=ㅋㅋㅋ


이제 막바지 단계!!!
힘내자!!

.
.
.
.

P.S

이놈이 와리가리 5호!!!
구조가 좀 더 심플해졌고 , 더 튼튼해졌고 ,
거기다가 전의 전륜구동이 아니라 , 후륜구동에 , 앞의 두 바퀴는 조향을 담당하게 되었다.
결론은 , 꽤나 많은 구조변경이 있었다는 이야기 ~ =_=


ApPLe
2009/03/27 15:47 2009/03/27 15:47
Tag
Trackback
Comments
미쉘린  2009/03/28 10:52  Reply  Delete
이 로봇이군요 ^0^
저도 wifi 때문에 노트북을 얹힐려고 노력하고 있는데
노트북 구입도 그렇고 사이즈가 만만치않네요. ㅠ0ㅠ

와아 훌륭해요 ~ 얼릉 구동 영상을 보고싶은 마음이 ~~
ApPLe  2009/03/28 11:10  Delete
고맙습니다 ㅎㅎ

노트북 사이즈는 요새 나오는 넷북을 이용하시면 그럴듯 하실겁니다 ㅎㅎ

사진에 얹힌 노트북은 후지쯔 라이프북 P-1032로 , 무게800g 이라서

사양이 시궁창임에도 ( 크루소 TM5600 800mhz ) 채용되었지요 ..

하지만 USB 1.1 이라서 , 로봇컨트롤 프로그램에서 돌리는 DirectShow로

캠 3대의 영상을 긁어오려하자 , USB 1.1 규격의 BandWidth를 초과해버리는

일이 .. ㅜㅜ 그래서 .. 저 사실 저 노트북은 탈락이라능 ......

무튼 ,, 기대해주세요 !!!ㅋㅋ
1