|
PC Escort Messenger |
SunmoonBit 21st | 열정
목 차
1 프로젝트 개요
1.1 개발 배경 및 목적
1.2 팀 구성 및 개발 일정
1.3 부문별 수행업무 및 담당자
2 요구사항 및 개발환경
3 프로젝트 구성
4.1 핵심 기술
4.2 프로젝트 설계
5 결론 및 개선 방안
6 참고 문헌 및 사이트
PC를 사용하면서 우리는 많은 문제를 접하게 된다. 잘못된 프로그램의 설치에서부터 바이러스에 이르기 까지 셀 수 없을 정도 이다. 간단한 조작 만으로도 이러한 문제를 해결 할 수 있음에도 불구하고 컴퓨터에 기초 지식이 부족한 이들에게는 힘들기 마련이다. 컴퓨터 수리 기사를 부르기엔 약간 부담스럽고, 계속 쓰기엔 불편한 상황에서 직접 누군가 내 컴퓨터를 직접 조작할 수 있다면 더 빠르고 편리하게 해결 할 수 있지 않을까.
1.1 개발 배경 및 목적
이 프로그램은 PC 전문가들이 PC에 발생한 문제에 대해 원격지에서 문제가 있는 PC로 접속하여 문제를 해결해 주는 원격 지원 서비스를 개발하자는 취지에서 시작하게 되었다. 시간의 제약을 받지 않고, 1:1 방식의 원격제어를 통해 프로그램의 사용법을 안내해 준다거나, 간단한 문제들을 해결해 주는 개인 주치의와 같은 프로그램을 만드는 것이 목적이다.
1.2 팀 구성 및 개발 일정
팀 장: 유시혁
팀 원: 김종현, 정연규, 이종찬, 이향미
개발 일정
개발 기간: 2011년 01월 20일 ~ 03월 3일 (1개월)
내용 | 기간 |
1월 |
2월 |
3월 | |||||||
3주 |
4주 |
5주 |
6주 |
2주 |
3주 |
3주 |
4주 |
1주 | ||
기획 |
주제선정 |
|
|
|
|
|
|
|
|
|
시장조사 |
|
|
|
|
|
|
|
|
| |
제안서 작성 |
|
|
|
|
|
|
|
|
| |
설계 |
요구분석 |
|
|
|
|
|
|
|
|
|
아키텍쳐 및 다이어그램 |
|
|
|
|
|
|
|
|
| |
ODBC 학습 |
|
|
|
|
|
|
|
|
| |
타겟 지정 화면 캡쳐 |
|
|
|
|
|
|
|
|
| |
WSAAsyncSelect | ||||||||||
KEYBD/MOUSE EVENT 분석 및 학습 |
|
|
|
|
|
|
|
|
| |
구현 |
클라이언트/서버 UI 및 기능구현과 연동 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||
화면캡쳐와 키보트/마우스 이벤트 연동 |
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
| ||
ODBC 연동 |
|
|
|
|
|
|
|
|
| |
Packet DLL 작성 및 테스트 |
|
|
|
|
|
|
|
|
| |
정리 |
프레젠테이션 작성 및 마무리 정리 |
|
|
|
|
|
|
|
|
|
테스트 |
|
|
|
|
|
|
|
|
| |
발표 |
|
|
|
|
|
|
|
|
|
1.3 부분별 수행업무 및 담당자
담장 업무 |
사용 환경/ 툴 |
담당자 |
Client Part, Project Manager |
MFC 8.0, PAINT |
유시혁 |
Server Part |
WIN32 API |
김종현 |
Remote Control Part |
WIN32 API |
정연규 |
DB Part |
MFC 8.0, ACCESS 2007 |
이종찬 |
KEY BD/MOUSE Event Part |
WIN32 API |
이향미 |
Packet DLL 작성 |
MFC 8.0 |
이향미, 김종현 |
프레젠테이션 작성 |
MS Power Point 2007 |
이종찬, 이향미 |
자료 정리 및 보고서 작성 |
MS Word 2007, 한글2005 |
유시혁, 김종현 |
2 요구사항 및 개발환경
요구사항
이름 |
설명 |
유형 |
관련자 |
메시지 기본 기능 |
고객과의 상담을 위한 채팅기능 |
기능 |
의뢰자 |
화면 출력 기능 |
고객의 PC을 관리자가 제어하기 위해 고객의 화면을 관리자의 PC에 출력하는 기능 |
기능 |
관리자 |
마우스. 키보드 제어 기능 |
마찬가지로 고객의 PC 입력 장치를 제어하기 위한 기능 |
기능 |
관리자 |
유연성 |
모듈 별로 DLL화 하여 재사용 성이 높아야 한다. |
품질 |
감수 |
파일 전송 |
각종 파일을 상대방에게 전송 할 수 있다. |
기능 |
의뢰자, 관리자 |
User List 출력 기능 |
현재 접속해 있는 유저들의 리스트를 출력해 준다. |
기능 |
의뢰자 |
개발 환경
개방 환경: Visual studio 2008, access MS Power Point2007, Word 2007.
요구 기술: 소켓통신, ODBC, Win32 API, DLL,
핵심 기술: 상대방 PC화면을 내 PC로 보면서 제어 할 수 있는 제어기능
4프로젝트 구성
4.1핵심 기술
1조 열정의 핵심 기술은 상대방의 PC를 원격제어 함에 있습니다. 소켓 통신을 사용해 상대방의 화면을 내 PC로 전송하여 볼 수 있고, KEY BD/ MOUSE EVENT 를 사용하여, 내가 입력한 명령들이 상대방의 PC에서 작동하는 기술에 있습니다.
4.2 프로젝트 설계 내용
일련 번호 |
채널명 |
채널 소유자 |
채널 사용자 |
목적 |
설명 |
1 |
CS |
수신 Client |
송신 Client |
채팅 |
Peer간 채팅 메시지 전송 |
2 |
SS |
수신 Client |
송신 Client |
Shot Message |
Peer간 Short Message 전송 |
3 |
FS |
수신 Client |
송신 Client |
파일 전송 |
Peer간 파일 전송 |
4 |
RS |
수신 Client |
송신 Client |
원격 제어 |
Peer간 원격 제어 |
5 |
FrS |
Client |
Façade |
친구 상태 |
클라이언트에서 접속자의 정보를 전송 |
6 |
FaS |
Façade |
Client |
서비스 사용 |
클라이언트의 서비스 사용 |
7 |
LoS |
Log |
Façade |
Login, Logout |
User의 로그인, 로그아웃 정보 전송 |
8 |
ReS |
Reg |
Façade |
가입, 탈퇴 |
User의 회원가입, 회원탈퇴 정보 전송 |
9 |
StS |
Sts |
Façade |
KeepAlive |
User의 상태 전송 |
10 |
StoS |
Stored |
Façade |
쪽지 |
User간 쪽지 전송 |
11 |
FrIS |
Façade |
Sts |
친구상태 |
서버에서 접속자의 정보를 전송 |
12 |
DBS |
DBM |
Log,Reg,Sts,Stos |
데이터 관리 |
User의 로그인, 가입, 상태, 쪽지 정보 전송 |
5결론 및 개선 방안
본 프로젝트를 하는 목적이 소켓통신과 MFC 학습에 있었는데, 클라이언트와 서버와의 소켓 통신을 DLL(동적 알고리즘)을 이용해서 작업을 하다 보니 DLL 학습 또한 익히게 되었다.
아직 여러 부분에서 부족하여 프로그램의 안정성, 유연성, 신뢰성 등에서 결점은 많이 보여 아쉬웠다.
클라이언트에서 중간 서버를 거치면서 ODBC에 접속 하게 되는데, 패킷 사용이 아직 불안정한 관계로 중간에 파일 깨짐 현상이 나타나거나 도중에 사라지는 현상이 일어 나는데 이에 대한 신뢰성을 높일 수 있도록 DLL 의 수정이 필요로 하다.
6참고 문헌 및 사이트
http://www.devpia.com (데브피아)
http://www.winapi.co.kr (Win32 Api 연구사이트)
http://cafe.daum.net/sbehclub (ehclub Daum 카페)
§ Visual C++ 6 완벽가이드 2nd Edition
§ 윈도우 API 정복
§ NETWORK PROGRAMMING
|