2009년 7월 31일 금요일

이 블로그에서는 제 프로젝트 이야기를 해 볼까 합니다.

어쩌다 보니

 

아무것도 한것 없이 그냥 그렇게...

 

이시간이 되도록 여기까지 와 버렸네요...

 

특별히 앞날이 밝지도 않고...

 

그렇다고 무엇 하나 이루어 놓은것도 없고...

 

그냥 하루하루 지나다 보니 벌써 인생의 절반은 지난것 같은데...

 

아이들 키울것을 생각하니 최소한 앞으로 20년은 더 일해야 되는데...

 

지금 13년정도 일을 했지만...

 

앞으로 20년을 이쪽 업계에 발을 담근다는 보장도 없네요...

 

제가 현재 하고 있는 일은 출입통제 관련된 프로그램 업무를 하고 있답니다.

 

일반 회사에 가보시면 사원증을 가지고 출입을 하는 그러한 일련의 작업들입니다.

 

그중에서 저는 장비쪽의 일이 아닌 장비 관리 Tool 쪽을 주로 하고 있답니다.

 

장비에게 해당 출입카드의 권한을 부여하거나 또는 삭제하는 명령을 내리는 일따위요...

 

하지만 이쪽 업계에서는 장비쪽은 돈이 되지만...

 

프로그램쪽은 돈이 안된다는 서글픈 사실...ㅋㅋ

 

장비가 나가는데 제어할 프로그램이 당연히 나가야 하는 것 맞죠...

 

하지만 장비가 나감으로 프로그램 비용이 별도로 청구되거나 하지는 않는답니다.

 

또한 장비가 나가면서 요구사항은 끊임없이 발생하고...

 

장비 한대(50만원) 나가면서도 프로그램의 요구사항은 끊이질 않습니다.^^

 

대부분 공통적으로 사용할 수 있는 부분들만 반영을 해주고 있는데...

 

간혹 어떤 고객은 무리하게 자신만의 프로그램을 요구하는 경우가 종종 발생을 한답니다.

 

그렇게 되면 프로그램의 버젼은 수도 없이 많아지고...

 

점점 더 관리가 어려워 지네요...

 

기존에는 프로그램을 만들어 가는 과정 때문에 이리 저리 많이 쏠렸는데...

 

이제사 프로그램이 좀 안정화 된것 같아서요...

 

그래서 이번에 통합(?)...

 

기본적인 시스템을 만들고...

그 위에 요구사항을 옵션 처리 식으로 할 수 있도록 반영 하려고

새로 시스템을 만들고 있습니다.

 

물론 옵션으로 처리 하지 못하는 경우는 프로그램이 새로 하나 발생 하겠죠...

이번에 예약관리프로그램 처럼요...

 

이 예약관리프로그램이 비용이 청구되는지 그건 정확히 모르겠군요...

 

일단 이 예약관리 프로그램을 베타버젼까지는 실행파일로 공개 하도록 하겠습니다.

 

(소스는 너무 지저분해서...ㅠ.ㅠ 저만 알아 볼수 있어서... 챙피스러워서 공개 못할것 같구요... 참고로 소스는 델파이로 만들었습니다)

게다가 소스중에 유료컴포넌트가 한 두개 정도 있어서...

아마 공개를 해도 사용하지 못하실것 같네요...

 

혹시라도 예약관리 프로그램이 필요하신 분은 베타버젼을 다운로드 받아서 사용해 보시고 개선 사항이 있으면 알려 주세요.

 

개선사항을 요청 하시는 분께 수용할수 있는 부분이면 수용하여 메일로 발송하도록 하겠습니다.

 

베타버젼이 아닌 정식제품은 회사의 지침에 따라 달라지기 때문에 제가 지금 확답은 못드리겠군요...

 

혹시라도 예약관리 프로그램 사용하시다가...

출입통제하고 연동하실 일 있으시거나...

아니면 출입통제를 저희꺼 사용하실 의향이 있으시면...

050-5926-5497 로 연락주세요...^^ 이거 광고인가여...ㅋ

 

예약관리 프로그램 베타버젼은 제가 다음주 휴가라서...ㅠ.ㅠ

그 다음주에 올려 드릴수 있겠네요...

 

 

프로젝트 기본테이블 생성

 

이 파일은 출입통제에서 사용하는 테이블을 생성해 주는 프로그램입니다.

(이 프로그램은 출입통제 프로그램을 사용하는 가입자가 사용하는 가정하에 설계되어서...

출입통제 프로그램에서 사용하는 테이블을 일정부분 사용합니다.

또한 향후에 출입통제 시스템과의 연동에 따른 시스템 설계가 이루어져 있으므로

기본적으로 출입통제 시스템 테이블 생성 후 작업이 진행 됩니다.)

 

설치 하면 다음과 같이

1. odbc 설치

2. 테이블 생성프로그램 실행 됩니다.

 

odbc는 혹시나 PostGreSql 설치 후 odbc 를 설치 하지 않으셨거나...

혹은 PostGreSql 설치 PC가 아닌 다른 PC에서 작업 하시는 경우를 대비해서 넣었습니다.

 

실제는 테이블 생성 프로그램만 실행하면 되는데 말이죠^^

 

테이블생성 프로그램이 실행 되면

DataBase Server IP 와...

DataBase 설치 할때 넣었던 비밀번호를 입력 후 데이터생성 버튼을 클릭해 주시면 됩니다.

 

만약 연결 실패가 나온다면...

DataBase 설치 후에 컴퓨터를 재부팅하지 않으신 경우이거나

Odbc 가 설치되어 있지 않은 경우에 발생합니다.

 

두가지가 모두 정상적으로 설치한 경우에는

아래 MDAC_TYP.exe 를 설치해 보시기 바랍니다.

 

 

PostGreSql Setup 프로그램

http://www.zeron.co.kr/setup/PostGreSql_Setup.exe

 

기반 : postgresql-8.3.7-1-windows.exe

설치 매뉴얼 :

 

 

 

 

 

- PostGreSql 설치 후 초기 셋팅 값으로는 127.0.0.1 으로만 접속되는 부분때문에 강제로

C:\Program Files\PostgreSQL\8.3\data\pg_hba.conf

의 파일을 열어서

 

host    all     all     0.0.0.0/0         md5

 

이부분을 추가 하였습니다.

 

- 데이터베이스 설치 후 반드시 재부팅을 해 주어야만 PostGreSql 데이터베이스가 정상 동작 합니다.

테이블명세서

테이블명세서

 

순서

테이블명

테이블설명

Insert Process

Search Process

비고

1

TB_GUESTUSER

사용자테이블

 

 

 

2

TB_GUESTTARGET

방문목적테이블

 

 

 

3

TB_GUESTCODE

방문자코드테이블

 

 

 

4

TB_GUESTTYPE

출입종류테이블

 

 

 

5

TB_GUESTRESERVE

예약테이블

 

 

 

6

TB_GUESTPERSON

예약자테이블

 

 

 

7

TB_GUESTCONFIG

방문자환경테이블

 

 

 

8

TB_COMPANY

회사코드테이블

 

 

 

 

 

출입통제시스템과 같은 데이터베이스를 사용하기때문에 구분하기 위해 TB_GUEST 로 시작하도록 함

TB_COMPANY 테이블은 출입통제시스템에서 사용하는 테이블을 공유하기로 함.

예약방문프로그램 기능도

1. 프로그램 : 프로그램 구동및 종료를 담당

   1.1 로그인 - 프로그램 사용하기 위해 로그인

   1.2 로그아웃 - 프로그램 잠그기 위해 로그아웃

   1.3 종료 - 프로그램 종료하기 위해 종료

   1.4 프로그램 정보 - 프로그램 정보 조회

 

2. 회원관리 : 프로그램의 사용을 위해 회원 관리를 담당

   2.1 회원가입 - 프로그램 사용하기 위해 회원가입신청하는 곳

   2.2 비밀번호찾기 - 비밀번호 분실시 자신의 아이디와 질문에 대한 답변으로 비밀번호 찾는곳

   2.3 회원정보관리 - 로그인 후 자신의 회원정보를 변경 할수 있는곳

 

3.코드관리 : 프로그램에서 사용하는 코드 관리를 담당

   3.1 기본코드관리 - 회사코드/지점코드/부서코드/직위코드 등을 관리

   3.2 방문목적코드관리 - 업무 또는 기타 방문목적의 코드를 관리

   3.3 방문자구분코드관리 - 방문자 고유번호를 주민번호 또는 여권번호 외에 기타 구분코드를 사용시 구분코드를 관리

   3.4 출입종류구분코드관리 - 방문자의 출입종류를 VIP/일반 등으로 구분하는 경우 출입구분코드를 관리

 

4. 예약관리 : 방문자의 예약 및 결재 조회 등을 담당

   4.1 방문자예약관리 - 담당자가 방문자의 정보를 입력하는곳(방문예약일/방문자 등)

   4.2 방문자예약현황조회 - 안내데스크에서 방문자의 예약현황을 조회 및 체크인 체크아웃을 처리 할 수 있는곳

   4.3 방문자예약결재 - 결재권한을 가진 결재자가 자신에게 결재요청이 올라온 건에 대해 결재승인 또는 거절 할 수 있는 곳

 

5. 관리자모드 : 관리자가 수행할 수 있는 업무를 담당

   5.1 회원인증관리 - 회원가입후 인증을 대기하고 있는 회원리스트 조회 후 회원 권한등을 확인후 인증 및 거절을 수행하는곳

   5.2 회원정보관리 - 회원 추가 또는 회원정보 수정 삭제 등을 할 수 있는 곳

   5.3 환경설정 - 결재라인 사용유무 / 회원가입 사용유무 등을 선택할 수 있는곳

예약방문 프로그램 업무분석

방문자 예약 관리 프로그램

1. 회원가입

회원정보 - 아이디/비밀번호/소속/전화번호/권한 등을 등록 할 수 있습니다.
2. 가입인증(관리자)

회원확인 후 승인 및 거절을 할 수 있습니다.
3. 로그인
- ZTBMS 의 사원정보 테이블의 사번을 아이디로 사용, 비밀번호는 초기 사번과 동일하며 비밀번호 변경은 운영자 아이디 관리에서 관리 합니다.
- 로그인의 권한을 확인하여 방문자 예약 / 방문자 조회 / 예약 결제 권한을 확인 합니다.
4. 기본자료관리(관리자)
- 방문목적을 코드로 관리 합니다.
- 방문자 구분코드를 관리합니다.(주민등록번호,여권번호,등등)
- 출입종류 코드를 관리 합니다.(VIP,업무,방문,등등)
5. 방문자 예약(담당자)
- 자신이 등록한 방문자 예약의 현재 상태를 기간별로 조회 할 수 있습니다.(결제 요청/결제 완료/방문 전/ 방문 중/방문완료)
- 자신이 등록한 방문자 예약 상태를 수정 할 수 있습니다.
- 방문 전 방문자는 삭제 할 수 있는 기능이 있어야 합니다.(단,방문 후에는 삭제 할 수 없습니다.)
- 방문일자 및 시간을 입력 합니다.(From ~ To)
- 방문자의 회사정보를 입력합니다.(회사명,전화번호 등)
- 방문목적을 입력합니다.
- 출입종류 코드를 입력합니다.
- 방문자의 정보를 입력 합니다.(방문자명,방문자구분코드,방문자구분데이터(주민등록번호,여권번호 등등))
- 방문자는 여러 명 일 수 있습니다.
- 결재 라인을 선택합니다.(결재 사용시)
- 대리등록을 할 수 있어야 합니다.(실제로 요청자가 외근으로 등록이 불가능 한 경우)
6. 방문자 조회(안내데스크)
- 기간별 예약자를 조회 할 수 있습니다.
- 예약자 조회 시 방문자명/회사명/전화번호 등으로 조회 할 수 있습니다.
- 방문 시 체크인을 처리 할 수 있습니다.
- 방문증 배포 시 방문카드를 기록 할 수 있습니다.
- 방문 중인 방문자를 조회 할 수 있습니다.
- 방문증 반납시 체크아웃을 처리 할 수 있습니다.
- 미결제 내역의 예약자를 조회 할 수 있습니다.
- 결제자의 사내 전화번호를 확인 할 수 있습니다.
- 등록자의 사내 전화번호를 확인 할 수 있습니다.
7. 예약 결재(결재권한)
- 자신에게 결제 요청된 자료를 조회 할 수 있습니다.
- 결제 요청 상태에서 결제 완료 상태로 처리 할 수 있습니다.
- 부재 시 결제 처리를 할 수 있어야 합니다.(자리를 비운 경우 자동으로 결제 되도록 처리 설정)
8. 운영자아이디관리(관리자/운영자)
- 관리자는 전체 아이디를 관리 할 수 있으며 운영자는 자신의 아이디만 관리 할 수 있습니다.
- 관리자는 운영자 아이디를 추가/수정/삭제 하는 기능을 가집니다.
- 운영자의 디폴트 결재라인을 선택할 수 있습니다.
- 운영자의 비밀번호를 변경 할 수 있습니다.
9. 환경설정
- 결재 사용유무를 셋팅 합니다.
- 방문자 카드 연동 유무를 셋팅 합니다.(출입통제 사용시... 향후개발)

-회원가입승인유무를 셋팅합니다
10. 보고서(출입통제 사용시... 향후개발)
- 방문자 카드 연동 시에 출입 이력을 조회 할 수 있습니다.
- 방문자의 출입 이력을 조회 할 수 있습니다.(이동경로)
- 체크인 시간/체크아웃 시간/ 체크인 ~ 체크아웃 시간 동안 출입한 출입이력이 조회 됩니다.

[고민사항]

시스템은 웹으로 개발하는 것이 사용시 편리할것 같은데...

자체 서비스를 할 수 없는 품목이다 보니...

설치면에서 어쩔수 없이 델파이루다가...

 

- 부재시 결재 부분... 요건 어떻게 처리 해야 할지...

결재 사용하는데... 결재자가 휴가를 가거나 했을때... 자동결재를 셋팅 해 놓고 가면...

결재신청 올리는거 그냥 무조건 자동으로 결재 되도록?

 

사실 방문자 프로그램에서는 결재시스템 사용하지 않아도 될것 같은데...

2009년 7월 30일 목요일

예약방문프로그램 개요

방문자 예약 프로그램을 하나 만들어 달라고 해서 시스템 구성을 해 봤습니다.

ㅠ.ㅠ

업무 협의 하나 없이 그냥 일방적인 방문자 프로그램을 만들어 달라고 하니...

이렇게 답답할데가...

혼자서 북치고 장구치고...

이게 아니라고 하면 저는 못 만든다고 배째라고 해야 할것 같습니다.^^

혹시 회사에서 방문자 프로그램을 사용하시고 계시는 분 계시면

저한테 도움을 좀 주시면 감사하겠습니다.

대충 프로세스튼 아래처럼

방문자/담당자/결재자/안내데스크/관리자 가 존재해서

1. 사용자(담당자/결재자/안내데스크)가 회원가입(또는 관리자가 직접 회원가입) -> 관리자가 회원가입 승인

2. 사용자가 로그인

3. 방문자와 담당자간의 업무미팅이 잡히면

4. 담당자가 프로그램에 방문예약 일정을 입력 후

5. 결재자가 방문예약 확인 및 결재 또는 보류

6. 보류된 건은 담당자가 다시 조회해서 수정 후 다시 결재 요청

7. 결재가 완료된 건은 안내데스크에서 조회됨으로

8. 방문자가 방문한 경우 안내데스크에서 방문예약 사항을 확인 후

9. 방문자카드를 부여 후 방문자를 담당자에게 안내

10. 업무 미팅 완료 후 안내데스크에서 방문자는 방문카드 반납 후 방문완료

 

이정도 밖에는 업무 흐름이 생각나지 않네요...

물론 이 중에 결재가 빠질수도 있을것 같고...

회원가입도 빠지고 관리자가 직접 회원 등록을 할 수도 있을것 같네요...

 

혹시 예약 방문자 프로그램에 대해 아시는 분 조언좀 부탁 드립니다.