04.완료보고서

Download Report

Transcript 04.완료보고서

지역 버스노선 안내 시스템
완료보고서
2007. Database Term Project Team 2
윤형석, 김희용, 최현대
우경남, 이상제
1. 개
요
개 요

현 황

교통부문의 정보화 추세에 따라 교통정보에 대한 수요자의
요구가 증가하고 있으며 이에 교통 데이터를 활용하려는 시
도가 증가하고 있는 추세이다.

현재 일부 지역에서 운영하는 버스노선조회시스템에서는
이러한 추세에 부응하지 못하고 단지 배차시간과 노선
경로를 보여주는 것에 그치고 있다.
개 요

목 표

버스노선, 배차, 정류장 정보를 데이터베이스화하여 이에
대한 사용자의 조회요구를 수용할 수 있게 한다.

해당 정류장 인근의 주요시설물의 정보를 데이터베이스화
하여 정류장을 쉽게 조회할 수 있게 한다.

인터넷을 통해 사용자가 접근할 수 있게 하여 이용 편의를
증대시킨다.
2. 메
뉴
1. 관리자 메뉴
1. 로 그 인
2. 버스관리
2.1 노선관리
2.1.1 노선추가
2.1.2 노선수정
2.1.3 노선삭제
2.2 배차시간
관리
1. 관리자 메뉴
3. 요 금 관 리
3.1 요 금 변 경
3.2 할인율 변경
4. 정류장 관리
4.1 정류장 추가
4.2 정류장 삭제
4.3 주요시설물 추가
4.4 주요시설물 삭제
2. 사용자 메뉴
5. 버스시간 조회
5.1 버스 배차시간 조회
5.2 정류장 경유버스
도착시간 조회
6. 노선조회
6.1 노선번호로 조회
6.2 정류장으로 노선조회
6.3 구간으로 노선조회
7. 요 금 조 회
6.4 주요 시설물로 노선조회
3. UI 및 완료기능 명세
1. 로그인
2.1.1 노선추가
2.1.2 노선수정
2.1.3 노선삭제
2.2 배차시간 관리
3.1 요금할인율 변경

라디오 버튼 클릭시 해당 버스의 요금을 확인, 변경 가능
3.2 요금 할인율 변경

라디오 버튼 클릭시 할인율 확인, 변경 가능
4.1 정류장 추가

지도 더블클릭시 좌표가 자동으로 추출되며, 신규정류장
입력 가능
4.2 정류장 삭제
4.3 주요시설물 추가
4.4 주요시설물 삭제

정류장으로 삭제
: 정류장을 선택하면 해당 정류장의 주요 시설물이 출력
5.1 버스 배차시간 조회
1. 검색하고자 하는
버스 번호 입력
2. 지도에서
노선 확인
3. 배차시간 확인
5.2 정류장으로 경유버스 도착시간 조회
4. 지도에서
4. 노선 확인
1. 정류장 입력
2. 원하는 정류장 선택
3. 버스 선택
5. 해당노선의
5. 도착시간 확인
6.1 노선번호로 조회 (계속)
1. 조회할 노선번호
입력
2. 노선 확인
6.1 노선번호로 조회

검색하고자 하는 번호를 입력하고 검색

해당 노선의 경로가 지도 / 텍스트로 출력

지도 출력시 붉은색은 상행, 푸른색은 하행으로 구분
6.2 정류장으로 노선조회 (계속)
1. 정류장 입력
2. 정류장 선택
3. 노선 찾기 버튼 클릭
4. 노선 번호 선택
5. 노선 확인
6.2 정류장으로 노선조회


Wild Card를 이용한 정류장 검색
정류장을 입력하고 노선찾기 버튼을 클릭시 해당
정류장에 정차하는 노선번호 출력

노선번호를 선택하면 노선 경로가 지도 / 텍스트로 출력

이 때, 지도의 중심은 선택된 정류장이다.
6.3 구간으로 노선조회 (계속)
6. 요금버튼 클릭
1. 정류장 입력
2-3. 정류장 선택
5. 지도버튼 클릭 6. 요금버튼 클릭
4. 버튼 클릭
5. 지도버튼 클릭시
5. 노선확인
6.3 구간으로 노선조회

Wild Card를 이용한 정류장 검색

한번에 갈 수 있는 노선이 있을경우 해당노선 출력

환승이 필요한 경우 소요시간 순으로 가능한 경로 출력

요금버튼 클릭시 소요되는 요금 출력
※ 예시의 경우, 57번 일반버스(1,000원) / 140번 좌석버스
(1,500원) 이나, 출발지가 김천터미널이고 환승 정류장이
구미역이므로 57번 버스의 기본 요금에 시외 추가요금
500원이 추가된 경우이다.
6.4 주요 시설물로 노선조회 (계속)
1. 시설물 입력
3. 정류장 선택
2. 시설물 선택
4. 노선번호 선택
4. 노선번호 선택시
4. 노선 확인
6.4 주요 시설물로 노선조회

Wild Card를 이용한 시설물 검색

원하는 시설물을 입력하고 검색버튼 클릭

시설물 주변의 정류장 출력

출력된 정류장 클릭시 정차하는 노선번호 출력

노선을 선택하면 노선의 경로가 지도 / 텍스트로 출력
7. 요금조회
4. 구 현 기 술
1. 지 도


Naver 지도API를 선택하여 사용
Naver 에 지도ID를 신청, 등록한 사이트 내에서만 지도의
사용 가능

Naver 지도API는 자바스크립트로 구현

자바스크립트에서 제공하는 이벤트들을 사용 가능

지도의 크기, 척도, 중심 설정 등 지도에 대한 기본
정보를 설정할 수 있고 이미지 추가, 선 추가 등의 API를
제공
2. 구간의 소요비용 계산 알고리즘 (계속)

Algorithm A. 인접한 지점으로부터의 상대비용을 가짐
E0
V0

E1
V1
E2
V2
E3
V3
E4
V4
E5
V5
V6
Algorithm B. 한 지점을 기준으로 절대 비용을 저장
A1
A2
A3
A4
A5
A0
V0
V1
V2
V3
V4
V5
V6
2. 구간의 소요비용 계산 알고리즘 (계속)

Algorithm A, B 에서 En, An의 관계
예) V1에서 V5까지 소요되는 비용계산

Algorithm A.

Algorithm B.
2. 구간의 소요비용 계산 알고리즘

분 석



노선의 경로를 입력, 수정시 Algorithm A가 유리
지점간 소요되는 비용을 계산하는 데에는 Algorithm B가
더 단순하며, 높은 성능을 보장
결 론


노선경로의 입력ㆍ수정에 비해, 검색의 빈도가 높으므로
테이블 구조는 Algorithm B를 따름
노선경로의 편집시 Algorithm A의 방식을 채택
5. Database 설계
ER Diagram
1. Bus_info (버스 정보)
Column name
Column desc
Data type
Bus_type
버스 종류
varchar(10)
Basic_fare
기본 요금
Integer
Additional_fare
추가 요금
integer
primary key (Bus_type)
2. Route_list (노선)
Column name
Column desc
Data type
Route_no
노선 번호
varchar(10)
Bus_type
버스 종류
varchar(10)
primary key (Route_no)
foreign key (Bus_type) references Bus_info(Bus_type)
3. Route_path (노선 경로)
Column name
Column desc
Data type
Route_no
노선 번호
varchar(10)
Stop_name
정류장 이름
varchar(30)
Accum_min
누적 시간
Integer
Is_upward
상 / 하행
boolean
primary key (Route_no, Stop_name)
foreign key (Route_no) references Route_list(Route_no)
foreign key (Stop_name) references Stop(Stop_name)
4. Allocation (배차시간)
Column name
Column desc
Data type
Route_no
노선 번호
varchar(10)
Start_time
출발 시간
Time
Is_upward
상 / 하행
Boolean
Mode
매일 / 평일 / 휴일
varchar(2)
primary key (Route_no, Start_time, Is_upward)
foreign key (Route_no) references Route_list(Route_no)
5. Stop (정류장)
Column name
Column desc
Data type
Stop_name
정류장 이름
varchar(30)
In_city
시내 / 외
Boolean
Location_X
X 좌표
Integer
Location_Y
Y 좌표
integer
primary key (Stop_name)
6. Facility (주요 시설물)
Column name
Column desc
Data type
Facility_name
주변시설물 이름
varchar(30)
Stop_name
정류장 이름
varchar(30)
primary key (Facility_name, Stop_name)
foreign key (Stop_name) references Stop(Stop_name)
7. Discount (할인)
Column name
Column desc
Data type
Target
대상
varchar(30)
Discount_rate
할인율
integer
primary key (Target)