묻고답하기

(내용) 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 남기남
카ol 링크된거요.. [1] 2007.08.10
까망이™ 포토샵에서 폰트 크기에 대해.. [2] 2007.08.10
램즈 프레임나누어진 html의 새창을 닫을때? [2] 2007.08.10
고영균 색깔을 일치 시키고 싶은데요... [2] 2007.08.10
최재영 요즘 메뉴에 xp 아이콘 같은 메뉴가 많턴데 그런 아이콘은 어떤 툴을 사용하나요?? [2] 2007.08.10
박형준 프레임셋 배경.. [2] 2007.08.10
아린~★ [급]제가 실수로...zetyx_member_table을 지우게 됐는데요.. [1] 2007.08.10
2면수 노트북에 레드햇9 설치 중 에러 메세지 [4] 2007.08.10
면발의진수 브라우저 창을 못닫게 하려면...  
한승진 php로 파일 업로드하는 방법좀... [1] 2007.08.10
박군의그녀 메뉴에서 [2] 2007.08.10
박현민 과연 초보가 이정도를... [5] 2007.08.10
강태현 스타일 시트에 대해서 질문... [2] 2007.08.10
Zombie input 태그 타입 file 일때 자동으로 나오는 버튼 디자인.. [1] 2007.08.10
곰팅이 벅스뮤직 노래를 배경음악으러 넣구싶은데요.. [1] 2007.08.10
황대규 phpmyadmin에서 새 유저 생성이 에러나요..ㅜ_ㅜ  
김훈 웹호스팅 서버에서.. 가입자를 처음 생성된 날짜를 알수 있을까요? [1] 2007.08.10
마리 노프레임에서요- [8] 2007.08.10
영진이 2개파일 업로드 할 때 질문입니다. [1] 2007.08.10
느닷없이질문 웹메일(폼메일) help me... [1] 2007.08.10
샤이농 개인 서버 구동시에.. [3] 2007.08.10
비둘기 플래쉬 홈피에 적용 시키는거좀..... [2] 2007.08.10
박군의그녀 서브 레이어요 [1] 2007.08.10
카카시원츄 서버 구축하기를 해봤는데... [2] 2007.08.10
classic iis+php+mysql에서 phpmyadmin에 관한 질문입니다. [3] 2007.08.10
さようなら [플래쉬]이것처럼 어떻게 하까여? [2] 2007.08.10
김태경 이미지레디를 사용해서 롤오버를 만들려고 하는데요.. 문제가 [2] 2007.08.10
카ol 프레임이요.. 경계선 어떻게 없애죠? [1] 2007.08.10
카ol 포토샵에서 어떻게 링크 걸어요?? [5] 2007.08.10
카ol 프레임 고정 어떻게해요?? [2] 2007.08.10