묻고답하기

(내용) MySQL/Linux+PHP를 이용한 인터넷 항공권 예약/결제 시스템 구축

(참고) URL: http://www.koreanair.co.kr .............. 대한항공 홈페이지
            http://www.flyasiana.com ............ 아시아나항공 홈페이지

(공통) 본 프로젝트는 대한항공, 아시아나항공 등과 같은 B2C 사이트를 단순
       화한 모델로 이용자는 인터넷 웹(Web)을 통해 항공일정 및 운임 등의
       정보를 조회하고 특정 항공권의 구매 처리를 수행하는 시스템을 개발
       하여야 하며 다음의 내용을 만족해야 한다.
       ※ B2C: Business to Customer, 기업과 개인간의 소비자 전자 상거래

     <용어 사용에 대한 약속>

     - 판매(판매자 입장)와 구매(구매자 입장)는 동일한 의미임
     - 조회: 해당 정보의 전체 리스트를 보임
       검색: 특정 조건을 만족하는 결과 리스트를 보임

     <제약 조건>

     1) 항공권의 구매 처리는 당일분 편도구간으로 제한하며 동일 항공편에
        대해 1인 1매를 초과할 수 없다.

     2) 항공권의 구매 처리는 해당 항공편의 출발시간 이전까지 이루어지며
        항공권 구매자는 해당 항공편을 이용해 여행한다고 가정한다.

     3) 항공편 운항 일정은 항공편명(예: KE1103) 등 실제 데이타를 조사해
        서 준비해야 하며 대한항공과 아시아나항공이 각각 국내선 2회씩 국
        제선 1회씩 번갈아 운항하는 것으로 가정한다.

        - 출발지/도착지 표기: 도시명+공항명 (예: 서울+김포 = 서울김포)
        - 국내선: 출발지: 서울김포 => 도착지: 부산김해, 제주제주
        - 국제선: (도착지는 지역구분별로 선택하여 총 5곳 추가)
                  출발지: 서울인천 => 도착지: 일본 (예: 도쿄나리타)
                                              미국/캐나다
                                              중국/몽골/홍콩
                                              동남아/괌
                                              유럽/러시아/중동
                                              호주/뉴질랜드/피지
                                              인도/서남아
                                              아프리카
                                              중미/남미 등

     4) 각 항공편은 항공편명, 출발지/도착지, 출발시간, 비행시간, 비행거
        리, 좌석구분별/운임구분별 운임 등의 애트리뷰트를 포함해야 한다.

        - 항공편명: 예) KE1103, OZ8945 등
        - 좌석구분: 일반석, 비즈니스석
        - 좌석번호: 각 좌석구분별 01~05
        - 운임구분: 할인운임(월~목 출발), 기본운임(금~일 출발)

     5) 각 항공권의 구매 처리는 예약과 결제의 2단계로 이루어지며 예약시
        좌석 배정이 되고 출발시간 이전에 언제든지 취소할 수 있다.  (단,
        출발시간까지 결제하지 않은 미결제 항공권은 자동 결제 처리함)

     6) 각 항공편의 구매 처리는 입력된 {여권번호, 패스워드}가 기 등록된
        회원정보와 일치하는 경우에 한하여 처리되도록 한다.

     7) 모든 회원은 우편번호 검색이 가능한 국내거주자로 제한하며 다음의
        릴레이션 구조를 사용한다.

        회원 릴레이션 { 여권번호, 패스워드, 이름, 전화번호, 메일,
                                  우편번호, 상세주소, 가입일, 탈퇴일 }
        예: { "NW1234567", "*****", "홍길동", "330-6478", "hong@cube",
                              "449728", "8105호", "2003-05-10", NULL }

        이때,  { "449728", "8105호" }는 항공권 인쇄 등의 처리에서 전체
        주소로 풀어서 보여야 한다.
        예: "(449-728) 경기도 용인시 남동 명지대학교용인캠퍼스 8105호"

     8) 모든 회원은 등록시 별도의 결제계좌를 가지며(초기금액 1,000,000)
        항공권 결제시 해당 운임을 차감한다. 또한, 비행거리(Km)에 해당하
        는 마일리지를 누적시켜 1,000Km 해당자에 한하여 다음번 항공권 구
        입시 운임을 마일리지로 공제해주는 선택 처리가 가능해야 한다.
        (1Km = 1원)

     9) 여행일정이 겹치거나 결제계좌 잔액이 모자라는 등 일반적인 상황의
        오류 처리가 올바르게 이루어져야 하며, 기타 예외적인 상황은 고려
        하지 않아도 좋다.


     <요구 사항>

     A) 다음 릴레이션은 반드시 포함되도록 테이블을 설계하여야 하며 기타
        필요한 정보는 추가시킨다.

        - 회원정보
        - 항공정보
        - 예매정보(예약/결제)
        - 우편번호

     B) 데이타베이스의 정규화 (우편번호는 제외: 경기용인.xls 참조)

     C) 데이타베이스의 일관성 및 무결성 제어 처리
        예: 회원 등록시 여권번호의 중복 불가
            좌석번호의 입력란 처리 대신에 리스트 박스 처리
            회원 탈퇴시 예약 정보만을 연쇄 삭제(cascade deletion)

     D) 검색 기능시 부분 문자열 처리 지원
        예: 회원정보에서 "길동"이라는 이름 검색


     <구현해야할 기능>

     1) 회원정보: 등록/수정/탈퇴, 조회/검색
     2) 항공정보: 조회/검색
     3) 예매정보: 예약 및 결제/취소, 조회/검색
     4) 출력보고서 ................................. 화면상에 보이면 됨
        ⓐ 항공편 목록 (운임, 잔여좌석 정보 포함)
        ⓑ 항공권 판매 실적 (합산금액 포함)
        ⓒ 구매실적 베스트5 회원 목록 (마일리지순)
        ⓓ 회원별 결제계좌 금액 사용내역 (회원별 구매실적 내역)
        ⓔ 특정 회원의 구매 항공권 인쇄 (아래의 양식 참조)

            예: 구매 항공권 인쇄 양식
                -----------------------------------------------------
                항공권
                --------------------------------------
                [항공편 정보]
                출발일시         5월 10일(토) 09:00
                출발지           서울김포
                도착일시(예정)   5월 10일(토) 10:05
                도착지           제주제주
                항공편명         OZ1234
                좌석구분         일반석
                좌석번호         01
                운임구분         기본
                금액             76,900원
                [구매자 정보]
                여권번호         NW1234567
                이름             홍길동
                전화번호         330-6478
                주소             (449-728) 경기도 용인시 남동 명지대..
                ------------------------------------------------------


(제출) 이상의 결과물에 대한 제출 위치와 제출물은 다음과 같으며, 대소문
       자를 구분하므로 특히 주의할 것

     <제출위치>

     URL: http://cube.mju.ac.kr/~사용자아이디/PROJECT/


     <제 출 물>

     - 1차: 프로젝트 제안서 파일(PROPOSAL.HWP) .................... 1개
       ~~~                            (교과목 홈페이지의 과제함에 제출)

       (제안서 작성요령)
       가. 데이타베이스화할 문제 정의
       나. E-R 다이어그램
       다. 메뉴 및 입/출력 화면 설계

     - 2차: ① 프로젝트 보고서 파일(FINAL.HWP) .................... 1개
       ~~~                                            (실습용 계정서버)
            ② 결과물 소스(*.html, *.php 등) .................. 다수 개
                                                      (실습용 계정서버)
            ③ 위 출력물(A4) ...................................... 1부
                                                      (데모시연시 지참)
          
       (보고서 작성요령)
       1차 제출한 제안서 파일에 다음 사항을 추가시켜 최종 보고서를 완성
       라. 1차 제안서 제출 이후의 모든 변경사항
       마. 관계형 데이타구조 설계
       바. 정규화 (단계적 과정, 설명 포함)
       사. 릴레이션 테이블 생성 SQL 스키마
       아. 프로젝트 후기

     공지사항란의 해당 마감시간을 참조하여 1차 2차 결과물을 각각 지정된
     장소에 구분 제출해야 하며, 2차 결과물 제출자는 데모시연 준비할 것


(점수) 아래의 사항을 기준으로 점수 산정함

       (점수: 총20점 + 보너스)
       1차:  5점 ........................... 지연제출시 매일 1점씩 감점
           - 제안서 5점 (가: 1점, 나: 2점, 다: 2점)
       2차: 15점 ........................... 지연제출시 매일 3점씩 감점
           - 보고서 5점 (라~아: 각1점)
           - 요구사항 만족도 5점 (B: 2점, C: 2점, D: 1점)
           - 프로그램 완성도 5점 (상: 5점, 중: 3점, 하: 1점)

     모든 기능이 이상없이 수행될 경우 기본점수(프로그램 완성도)를 부여
     하고 다음의 부가적인 기능 구현시 보너스 점수를 가산
       a) 사용자인증 및 쇼핑 카트에 의한 처리 (1점)
       b) 회원등록시 우편번호 검색에 의한 처리 (1점)
       c) 기타 잘 구현된 추가 기능이나 사용자인터페이스 (1점)
          예: 항공일정 조회시 출/도착지 공항 정보, 기내서비스 등 링크
              좌석배치 인터페이스, 오류 메시지 처리 등

-끝-






이상이 초보자를 위한 php프로그램이라는데 과연 가능할지...
넘 어렵지 않나여?
전문가님들...
이거 좀 해주세여~
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
Zombie input 태그 타입 file 일때 자동으로 나오는 버튼 디자인.. [1] 2007.08.10
강태현 스타일 시트에 대해서 질문... [2] 2007.08.10
박현민 과연 초보가 이정도를... [5] 2007.08.10
박군의그녀 메뉴에서 [2] 2007.08.10
한승진 php로 파일 업로드하는 방법좀... [1] 2007.08.10
면발의진수 브라우저 창을 못닫게 하려면...  
2면수 노트북에 레드햇9 설치 중 에러 메세지 [4] 2007.08.10
아린~★ [급]제가 실수로...zetyx_member_table을 지우게 됐는데요.. [1] 2007.08.10
박형준 프레임셋 배경.. [2] 2007.08.10
최재영 요즘 메뉴에 xp 아이콘 같은 메뉴가 많턴데 그런 아이콘은 어떤 툴을 사용하나요?? [2] 2007.08.10
고영균 색깔을 일치 시키고 싶은데요... [2] 2007.08.10
램즈 프레임나누어진 html의 새창을 닫을때? [2] 2007.08.10
까망이™ 포토샵에서 폰트 크기에 대해.. [2] 2007.08.10
카ol 링크된거요.. [1] 2007.08.10
임준희 배너를 화면바뀔때마다 바뀌게 하고싶거든요 [1] 2007.08.10
sparks 포토샵에서 가이드라인만 가져오는 방법.. [2] 2007.08.10
Nytoner 대각선을 부드럽게 그을려면.. [1] 2007.08.10
roomy 클릭하면 DB 업데이트 하기 질문입니다. [2] 2007.08.10
카ol 포토샵 파일을 gif로 어떻게 바꿔요?? [1] 2007.08.10
artgirl 포토 싸이즈를 줄이면 포토해상도가 떨어져요 [6] 2007.08.10
[Park]CL™ 개인 컴퓨터로 웹호스팅할라면 어떤것들이 필요하나요?  
윤재영 서브메뉴와 주메뉴를 이용한 레이어 질문... [1] 2007.08.10
카카로트 포토샵에서.. [1] 2007.08.10
ThanksGod 플래시에서 라이브러리 등록은 못하나요..? [5] 2007.08.10
z1581617 c로 cgi만들기 두번째 질문이요 ^^;  
현호찬 아이피 주소를 도메인 주소로 변경하는 방법? [1] 2007.08.10
강정석 한글과 영문 폰트를 한꺼번에 지정해줄 수는 없나요...  
김건 레이어를 이용한 서브메뉴문제...  
SJH 최근게시물뽑아서 눌르면 화면전환해서 내용이 아이프레임에 뜨게 하기 [1] 2007.08.10
bigbug window2000, iis 에서 파일업로드시에 읽기와 권한에 관한 에러 경고문인데요... 많은 리플 좀 부탁함다...