네트워크 프로그래밍
< 네트워크 주문 프로그램 V1.00 >
E12 20021590 임 동환
E12 20021232 성 준완
E12 20021669 김 성현
차 례
1. 프로젝트수행 필요성
2. 개요
3. 국내외 현황
4. 개발 및 연구결과
5. 프로젝트 내용 흐름도
6. 시스템 구조도
7. 화면 UI
프로젝트수행 필요성
어느 정도 규모가 있는 각종음식점 등에서 고객의 요청 하나하나를 들어 주는 것은 쉬운 일이 아니다 .
규모가 클수록 종업원 수를 늘려야 하고 더 많은 비용이 필요로 한다 .
이 시스템을 통하여 고객은 테이블에 앉아 테이블에 있는 주문단말기를 이용하여 보다 편리하고 정확하게 주문을 할 수 있고 , 자신의 주문내역 을 확인할 수 있다 .
네트워크 주문처리 시스템은 이러한 노력과 수고를 덜어 주고 신속하게
주문을 처리할 수 있다 .
개 요
네트워크 주문처리 시스템은 클라이언트 - 서버 모델을 기반으로 하는 주문 시스템이다 .
클라이언트는 음식점의 메뉴 , 주문서 , 쪽지 , 주문내역 등의 정보를 처리하며 , 서버는 클라이언트로부터 들어오는 주문 , 결재 , 일일현황 등의 정보를 처리하고 제공한다 .
네트워크의 기본개념은 클라이언트가 자신의 ID 나 다름없는 테이블번
호와 주문서의 내용을 보내면 서버에서 이 테이블번호를 이용하여 각 테
이블을 식별하고 어떤 테이블에 대한 주문서인지 구분할 수 있게 된다
개요
테이블3
테이블1 테이블2 테이블4
국내외 현황
음식 주문 시스템은 개발이 되어 있지만 , 많이 사 용되고 있지는 않다 .
실제로 주문 이외에 게임과 같은 부가 기능을 갖춘
시스템도 있으며 이러한 시스템은 고객들에게 편의
와 즐거움을 동시에 제공한다 .
개발 및 연구결과
Table1 Table1
전광판 전광판 메인 카운터
주방 단말기
개발도구 / 개발기자재
Microsoft Visual Studio 2005 (C#) Microsoft Visual Studio 2005 (C#)
Microsoft Office Access 2003 Microsoft Office Access 2003
개발 도구 개발 도구
Server : Intel Core 2 Duo Con-roe E6750, 4GB RAM Server : Intel Core 2 Duo Con-roe E6750, 4GB RAM
Client : Inter Core 2 Duo Merom, 2GB RAM Client : Inter Core 2 Duo Merom, 2GB RAM
개발 기자재
개발 기자재
프로젝트 내용 흐름도
프로젝트 내용 흐름도
HIS (High Interface System)
폼 디자인 폼 디자인
프 로 그 램 소 스 코 딩 프 로 그 램 소 스 코 딩
테 스 트 테 스 트 디 버 깅
디 버 깅
화면 / 출력 설계 화면 / 출력 DB 설계 설계
DB 설계
기존 개발내용과의 차별성
오늘날 널리 이용되고 있는 주문관리 시스템은 고객의 주문을 직접 종이 에 받아 적은 후 컴퓨터에 입력하는 시스템이다
네트워크 주문처리 시스템은 주문단말기와 네트워크를 통하여 고객으 로부터 주문을 받고 처리하는 상호대화식 시스템이다
각 가게의 특성에 맞게 주문 시스템 또한 그 겉모습을 달리 할 수 있다 .
기대 효과
주문단말기를 이용한 주문처리 시스템을 이용함으로써 고객은 보다 쉽 고 , 편리하게 주문을 할 수 있다
서비스제공자 또한 고객으로부터의 요청에 신속하게 대응할 수 있게 된 다 .
고객과 상호대화식으로 다양한 콘텐츠를 내장하여 고객의 흥미를 유발
하기 위한 하나의 아이템이 될 수도 있다 .
개발 환경
구 분 세 부 사 항
Client
CPU Intel Core 2 DuoT7200
RAM 2GB
NETWORK 10Mbps 이상
O/S Microsoft Windows XP Service Pack 2
Server
CPU Intel Core 2 Duo E6750
RAM 4GB
NETWORK 10Mbps 이상
O/S Microsoft Windows Vista 32bits
시스템 구조도
사용자 사용자
CLIENT 1 (Table_1) CLIENT 1 (Table_1)
CLIENT 2 (Table_2) CLIENT 2 (Table_2)
·
·
·
·
·
SERVER (Counter)
SERVER
(Counter) Data Base Data Base 관리자 관리자
Acknowledge
Table_Number_1 & Order Account
주문, 결제 처리 , 관리 Table_Number_1 & Order
Account
Acknowledge
구현 기능
* 클라이언트
기능 설명
메뉴 / 수량 선택
메인화면에는 메뉴이미지가 표시되어 있으며, 이미지를 클릭하면 상 세내용을 확인할 수 있다.
선택된 메뉴가 주문서에 추가될 수 있도록 주문서 기능과 연동된다. 메뉴의 모든 데이터는 데이터베이스에 저장되어 있다.
주문서 / 주문 메뉴와 연동되어 있는 주문서는 사용자가 주문을 하기 전에 목록을 확인할 수 있도 록 하며, 추가 삭제 및 전체 삭제가 가능하다 .
주문서에 있는 내용은 ‘주문하기’ 버튼을 클릭하여 서버로 주문서를 보내게 된다.
쪽지 보내기 메뉴를 고르고 주문하는 것 이외의 요구를 하기 위해 쪽지 기능을 제공한다.
주문내역 / 결재 주문내역에서는 이때까지 주문한 메뉴정보, 수량정보 , 합계를 확인할 수 있다 .
‘ 결재하기’를 클릭하면 서버인 카운터에서 즉시 결재요청이 들어온 것을 확인할 것 이다.
구현기능
* 서버
기능 설명
테이블 선택
서버에 연결되어 있는 각각의 클라이언트는 테이블번호로 구분되어 있다. 각 클라이언트는 고유의 테이블번호를 가지며, 서버에서 이 테이블번호를 선택하여 해당 테이블에 대한 요청을 처리할 수 있다.
주문처리 테이블버튼의 색상변화로 각 테이블로부터의 요청을 확인할 수 있다. 주문이 들어 오면 테이블버튼이 노란색으로 표시되고 녹색으로 표시된 테이블을 클릭하면 주문 을 확인할 수 있다. 처리버튼을 누르면 주문서의 내용이 주문내역으로 옮겨진다 .
주문내역 / 결재 각 테이블에 대한 주문내역을 확인하고, 결재를 처리한다 . 일단 결재가 처리되면 주문내역의 정보는 결재내역, 판매현황 등의 정보로 활용된다 .
쪽지 확인 각 테이블로부터 도착한 쪽지를 확인할 수 있다.
일일 현황 결재된 주문정보는 테이블번호, 주문내역 , 결재시간 등과 함께 데이터베이스에 저 장되어 일일 현황 정보로 활용된다. 일일 현황에서는 해당일의 결재내역 , 품목별 판매현황, 상세판매현황을 확인할 수 있다 .
참고 문헌
C# 관련 서적 C# 관련 서적
C# .NET 프로그래밍 저자 : 김 일곤 외 3 명 C# 과 .NET 플랫폼 저자 : 원 유태 외 3 명
C# .NET 프로그래밍 저자 : 김 일곤 외 3 명 C# 과 .NET 플랫폼 저자 : 원 유태 외 3 명
Access DB 관련 서적 Access DB 관련 서적
Access 2003 무작정 따라 하기 저자 : 공 병훈
Access 2003 무작정 따라 하기 저자 : 공 병훈
화면 UI
클라이언트 - 초기화면 클라이언트 - 초기화면
간단한 로고를 보여주고, 관리자 로그 인을 통하여 서버로부터 테이블을 할당 받을 수 있다 . 초기화면은 사용자가 로그 인을 하지 않은 상태를 나타내며, 로그 인을 하여 주문을 하고 결재까지 완료되면 다시 로그아웃 되어 다음 사용자가 초기화된 상태에서 시작할 수 있도록 한다 .
간단한 로고를 보여주고, 관리자 로그 인을 통하여 서버로부터 테이블을 할당 받을 수 있다 . 초기화면은 사용자가 로그 인을 하지 않은 상태를 나타내며, 로그 인을 하여 주문을 하고 결재까지 완료되면 다시 로그아웃 되어 다음 사용자가 초기화된 상태에서 시작할 수 있도록 한다.
화면 UI
클라이언트 - 메인화면 클라이언트 - 메인화면
서버에 로그인이 되면 메인화면을 출력한다 .
화면은 크게 메뉴, 주문서 , 쪽지 , 주문내역 , 합계의 다섯부분으로 나누어진다 . 서버에 로그인이 되면 메인화면을 출력한다.
화면은 크게 메뉴, 주문서 , 쪽지 , 주문내역 , 합계의 다섯부분으로 나누어진다 .
화면 UI
클라이언트 - 메뉴선택 다이얼로그 클라이언트 - 메뉴선택 다이얼로그
메인화면에서 메뉴이미지를 클릭하면 다음과 같이 해당 메뉴에 대한 설명과 가격정보를 확인
할 수 있는 다이얼로그가 나타난다. 수량을 선택하고 확인을 누르면 해당메뉴가 주문서에 추가된다 . 메인화면에서 메뉴이미지를 클릭하면 다음과 같이 해당 메뉴에 대한 설명과 가격정보를 확인
할 수 있는 다이얼로그가 나타난다. 수량을 선택하고 확인을 누르면 해당메뉴가 주문서에 추가된다 .
화면 UI
클 릭
클라이언트 - 주문 클라이언트 - 주문
원하는 메뉴와 수량을 선택하면 주문서에 그 내용이 입력된다. 잘못 입력했을 경우 취소, 전체취소가 가능하다 .
‘ 주문하기’버튼을 클릭하면 테이블번호와 함께 주문서의 내용이 모두 서버로 전송된다. 원하는 메뉴와 수량을 선택하면 주문서에 그 내용이 입력된다.
잘못 입력했을 경우 취소, 전체취소가 가능하다 .
‘ 주문하기’버튼을 클릭하면 테이블번호와 함께 주문서의 내용이 모두 서버로 전송된다.
화면 UI
클라이언트 - 주문내역 클라이언트 - 주문내역
주문을 하고 나면 주문서의 모든 내용은 주문내역에 추가된다.
주문내역은 누적되기 때문에 주문했던 모든 정보를 언제든지 확인할 수 있다.
현재까지 모든 메뉴, 주문서 , 주문내역 정보는 내부적으로 연결리스트에 저장된다 . 주문을 하고 나면 주문서의 모든 내용은 주문내역에 추가된다.
주문내역은 누적되기 때문에 주문했던 모든 정보를 언제든지 확인할 수 있다.
현재까지 모든 메뉴, 주문서 , 주문내역 정보는 내부적으로 연결리스트에 저장된다 .
화면 UI
서버 - 테이블관리 서버 - 테이블관리
서버는 크게 테이블관리 텝과 일일 현황 텝으로 나뉘어져 있다. 테이블관리 텝에서는 각 테이블의 주문 , 결재를 처리하고 관리할 수 있다.
화면구성은 현재 선택된 테이블과, 그리고 테이블을 선택하는 테이블버튼 , 처리중인 주문 , 받은 쪽지 , 주문내역으로 구성되어 있다.
서버는 크게 테이블관리 텝과 일일 현황 텝으로 나뉘어져 있다. 테이블관리 텝에서는 각 테이블의 주문 , 결재를 처리하고 관리할 수 있다.
화면구성은 현재 선택된 테이블과, 그리고 테이블을 선택하는 테이블버튼 , 처리중인 주문 , 받은 쪽지 , 주문내역으로 구성되어 있다.
화면 UI
테이블 번호
테이블 활성화
로그인된 테이블은 다음과 같이 테이블버튼이 녹색으로 표시되며, 주문이 들어올 경우에는 노란색 , 쪽지가 수신될 경우에는 하늘색, 결재요청이 들어올 경우에는 빨간색으로 표시된다 .
로그인된 테이블은 다음과 같이 테이블버튼이 녹색으로 표시되며, 주문이 들어올 경우에는 노란색 , 쪽지가 수신될 경우에는 하늘색, 결재요청이 들어올 경우에는 빨간색으로 표시된다 .
화면 UI
서버 - 일일현황 서버 - 일일현황
각 주문내역에 대해 결재가 완료되면 그 정보들은 모두 데이터베이스 내의 일일 현황 관련 테이블에 저장된다. 일일현황 탭은 크게 결제내역 , 품목별 판매량 , 상세 판매현황으로 구분되며 , 일일 현황의 특성상 해당일의 판매현황을 확인할 수 있다.
각 주문내역에 대해 결재가 완료되면 그 정보들은 모두 데이터베이스 내의 일일 현황 관련 테이블에 저장된다. 일일현황 탭은 크게 결제내역 , 품목별 판매량 , 상세 판매현황으로 구분되며 , 일일 현황의 특성상 해당일의 판매현황을 확인할 수 있다.
개발 일정
프로젝트 수행 일정표
작업공정 5/20 5/23 5/26 5/29 6/1 6/4 6/7 6/10 요구분석
폼 디자인
UI 설계
클라이언트 DB
서버 DB
클라이언트 구현
서버 구현
테스트
역할 분담표
작업공정 / 개발자 임 동환 성 준완 김 성현
UI 설계
O O
폼 디자인
O O
클라이언트DB 설계
O
서버 DB 설계
O
클라이언트 구현
O
서버 구현
O
테스트
O
디버깅
O O
보고서 작성