Hệ thống hỗ trợ tìm đường đi xe buýt trên WEB
Trang 1KHOA CNTT –
ĐH KHTN
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM
TRẦN THỊ BÍCH HẠNH - 9912022
HỆ THỐNG HỖ TRỢ
TÌM ĐƯỜNG ĐI XE BUÝT TRÊN WEB
LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN
T.S TRẦN ĐAN THƯ
NIÊN KHÓA 1999 - 2003
Trang 2KHOA CNTT –
ĐH KHTN
i Nhận xét của giáo viên hướng dẫn
Trang 3KHOA CNTT –
ĐH KHTN
ii Nhận xét của giáo viên phản biện
Trang 4Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các bạn
Nhóm thực hiện Lâm Vĩ Quốc & Trần Thị Bích Hạnh
Trang 5Việc tra cứu thông tin và đặc biệt là tìm các tuyến thích hợp để đi lại bằng bản đồ giấy thường rất phức tạp, tốn thời gian và sẽ càng khó khăn hơn khi giữa các tuyến đi không liên thông với nhau giữa điểm xuất phát và điểm đích hay khi hệ thống các tuyến trở nên ngày một chằng chịt, một xu hướng ắt sẽ diễn ra trong tương lai không xa Tuy nhiên với sự trợ giúp của công nghệ máy tính thì công việc đó sẽ trở nên dễ dàng và tiện lợi Với ý tưởng đó, chúng em đã tiến hành tìm hiểu các công nghệ
WebGIS để thực hiện đề tài “Hệ thống hỗ trợ tìm đường đi xe buýt trên web”
nhằm tạo ra một website để hỗ trợ người dùng tìm được các tuyến đường thích hợp cho việc đi lại một cách trực quan, đơn giản, nhanh chóng và tiện lợi.
Luận văn này gồm 6 chương :
Chương 1 Tổng quan: chương mở đầu của luận văn, giới thiệu về nhu cầu thực tế
và lý do thực hiện đề tài, đồng thời giới thiệu sơ lược về đề tài và mục tiêu phải đạt được
Chương 2 Hướng tiếp cận của đề tài: nêu các giải pháp hiện có trong nước và
ngoài nước, hướng tiếp cận của luận văn để thực hiện đề tài.
Chương 3 Phân tích: trình bày các hồ sơ phân tích trong xây dựng hệ thống Chương 4 Thiết kế: trình bày các hồ sơ thiết kế trong xây dựng hệ thống
Chương 5 Cài đặt: mô tả cách cài đặt cụ thể của một số giải thuật chính trong hệ
thống
Trang 6KHOA CNTT –
ĐH KHTN
v
Chương 6 Tổng kết: chương cuối cùng của luận văn, tóm lại các vấn đề đã giải
quyết và nêu ra một số hướng phát triển trong tương lai
Trang 71.1 Yêu cầu thực tế và lý do thực hiện đề tài 1
1.2 Mục tiêu của đề tài 1
Chương 2 Hướng tiếp cận của luận văn 3
3.5 Xây dựng mô hình Use-case (Use-case Model) 15
3.5.1 Xác định Actor và Use case 15
3.5.2 Mô hình Use-case 17
3.6 Đặc tả Use case 18
3.6.1 Lookup BusLine Info (Tra cứu thông tin Tuyến xe buýt) 18
3.6.2 Lookup Road Info (Tra cứu thông tin Đường) 19
3.6.3 Lookup Place Info (Tra cứu thông tin Địa điểm) 20
Trang 8KHOA CNTT –
ĐH KHTN
vii
3.6.4 View On Map (Định vị đối tượng bản đồ) 21
3.6.5 Find Shortest Path (Tìm đường đi ngắn nhất) 22
3.6.6 Find Nearest BusStation (Tìm trạm dừng gần nhất) 24
3.6.7 Pan (Di chuyển bản đồ) 25
3.6.8 Zoom (Phóng to / Thu nhỏ bản đồ) 26
3.6.9 Fit2Window (Hiện toàn bộ bản đồ) 27
3.6.10 Maintain BusLine Info (Quản lý thông tin Tuyến xe buýt) 27
3.6.11 Maintain BusStation Info (Quản lý thông tin Trạm dừng) 31
Chương 4 Thiết kế 34
4.1.1 Thiết kế kiến trúc hệ thống 34
4.1.2 Thiết kế giao diện 36
4.1.3 Mô hình lớp đối tượng 42
4.1.4 Mô hình dữ liệu (Data Model) 42
4.1.5 Mô hình thiết kế (Design Model) 58
Chương 5 Cài đặt 77
5.1 Thuật giải A*: Tìm đường đi ngắn nhất từ T0 đến TG 77
5.2 Áp dụng A* vào bài toán tìm đường đi xe buýt 79
Chương 6 Tổng kết 81
6.1 Tổng kết 81
6.2 Hướng phát triển 81
Phụ lục A Giới thiệu chương trình 83
Yêu cầu cấu hình 83
Giới thiệu chương trình 83
Phụ lục B Lộ trình 45 tuyến xe buýt điểm 90
Tài liệu tham khảo 100
Trang 9KHOA CNTT –
ĐH KHTN
viii
DANH MỤC CÁC HÌNH
Hình 2.1 Mô tả lớp giao thông đường bộ 3
Hình 2.2 Hai lớp giao thông đường bộ và xe bu ýt được định nghĩa tách biệt nhau 4
Hình 2.3 Hệ thống không tìm được đường đi xe buýt do điểm xuất phát và điểm đích không thuộc đỉnh được đánh dấu 4
Hình 2.4 Hệ thống không tìm được đường đi xe buýt do 2 tuyến xe buýt không liên thông 5
Hình 4.5 Màn hình quản lý thông tin tuyến xe buýt 40
Hình 4.6 Màn hình quản lý thông tin trạm dừng 41
Hình 4.7 Mô hình lớp đối tượng 42
Hình 4.8 Các đối tượng chính trên lớp đường giao thông 43
Hình 4.9 Các đối tượng chính trên lớp mạng tuyến xe buýt 43
Hình 4.10 Mô hình Winged-edge Topology 44
Hình 4.11 Topology cấp 0 45
Hình 4.12 Topology cấp 1 và 2 46
Hình 4.13 Topology cấp 3 47
Hình 4.14 Mô hình vật lý 48
Hình 4.15 Lược đồ trạng thái Web Application 58
Hình 4.16 Lược đồ trạng thái Desktop Application 58
Hình 4.17 Lược đồ tuần tự Tra cứu thông tin tuyến xe 59
Hình 4.18 Lược đồ cộng tác Tra cứu thông tin tuyến xe 59
Hình 4.19 Lược đồ tuần tự Tra cứu thông tin đường 60
Trang 10KHOA CNTT –
ĐH KHTN
ix
Hình 4.20 Lược đồ cộng tác Tra cứu thông tin đường 60
Hình 4.21 Lược đồ tuần tự Tra cứu thông tin địa điểm 61
Hình 4.22 Lược đồ cộng tác Tra cứu thông tin địa điểm 61
Hình 4.23 Lược đồ tuần tự Định vị đối tượng bản đồ từ thông tin phi không gian 62
Hình 4.24 Lược đồ cộng tác Định vị đối tượng bản đồ từ thông tin phi không gian62Hình 4.25 Lược đồ tuần tự Tìm đường đi ngắn nhất 63
Hình 4.26 Lược đồ cộng tác Tìm đường đi ngắn nhất 63
Hình 4.27 Lược đồ tuần tự Tìm trạm dừng gần nhất 64
Hình 4.28 Lược đồ cộng tác Tìm trạm dừng gần nhất 64
Hình 4.29 Lược đồ tuần tự Di chuyển bản đồ 65
Hình 4.30 Lược đồ cộng tác Di chuyển bản đồ 65
Hình 4.31 Lược đồ tuần tự Phóng bản đồ trong khung chữ nhật chọn 66
Hình 4.32 Lược đồ cộng tác Phóng bản đồ trong khung chữ nhật chọn 66
Hình 4.33 Lược đồ tuần tự Phóng to bản đồ 67
Hình 4.34 Lược đồ cộng tác Phóng to bản đồ 67
Hình 4.35 Lược đồ tuần tự Thu nhỏ bản đồ 68
Hình 4.36 Lược đồ cộng tác Thu nhỏ bản đồ 68
Hình 4.37 Lược đồ tuần tự Hiện toàn bộ bản đồ 69
Hình 4.38 Lược đồ cộng tác Hiện toàn bộ bản đồ 69
Hình 4.39 Lược đồ tuần tự Thêm tuyến xe buýt 70
Hình 4.40 Lược đồ cộng tác Thêm tuyến xe buýt 70
Hình 4.41 Lược đồ tuần tự Xóa tuyến xe buýt 71
Hình 4.42 Lược đồ cộng tác Xóa tuyến xe buýt 71
Hình 4.43 Lược đồ tuần tự Sửa đổi thông tin tuyến xe 72
Hình 4.44 Lược đồ cộng tác Sửa đổi thông tin tuyến xe 72
Hình 4.45 Lược đồ tuần tự Sửa thông tin lộ trình của tuyến xe 73
Hình 4.46 Lược đồ cộng tác Sửa thông tin lộ trình của tuyến xe 73
Hình 4.47 Lược đồ tuần tự Thêm trạm xe buýt mới 74
Hình 4.48 Lược đồ cộng tác Thêm trạm xe buýt mới 74
Trang 11KHOA CNTT –
ĐH KHTN
x
Hình 4.49 Lược đồ tuần tự Xóa trạm xe buýt 75
Hình 4.50 Lược đồ cộng tác Xóa trạm xe buýt 75
Hình 4.51 Lược đồ tuần tự Sửa đổi thông tin trạm dừng 76
Hình 4.52 Lược đồ cộng tác Sửa đổi thông tin trạm dừng 76
Trang 12KHOA CNTT –
ĐH KHTN
xi
DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Bảng mô tả các ưu khuyết điểm của kiến trúc client-side 6
Bảng 2.2 Bảng mô tả ưu khuyết điểm của kiến trúc server-side 7
Bảng 4.1 Danh sách các kiểu dữ liệu 49
Bảng 4.14 Loại địa điểm 56
Bảng 4.15 Quan hệ giữa lộ trình tuyến xe buýt và các tuyến đường đi qua 56
Bảng 4.16 Quan hệ giữa lộ trình tuyến xe buýt và các cung xe buýt 56
Bảng 4.17 Quan hệ giữa cung xe buýt và các cung đường 57
Bảng 4.18 Quan hệ giữa con đường và các cung đường 57
Bảng 5.1 Thuật giải A* 78
Trang 13KHOA CNTT –
ĐH KHTN
1
Chương 1 Tổng quan
1.1 Yêu cầu thực tế và lý do thực hiện đề tài
Hệ thống giao thông của thành phố Hồ Chí Minh trong những năm gần đây gặp rất nhiều khó khăn và tình trạng ùn tắc giao thông thường xuyên xảy ra, nhất là vào những giờ cao điểm Một tình trạng chung cho các trung tâm thành phố phát triển Tuy nhiên, ở nước ta chúng ta có thể nhận thấy được nguyên nhân gây ra ùn tắc giao thông là do số lượng người sử dụng phương tiện di chuyển cá nhân quá nhiều Do thế nhà nước đã tiến hành nhiều biện pháp hạn chế số lượng phương tiện đó, đồng thời đầu tư phát triển hệ thống giao thông công cộng, trong đó xe buýt sẽ là phương tiện mở màn để người dân quen dần với hệ thống giao thông công cộng này Tuy xe buýt không phải là phương tiện di chuyển mới ở nước ta nhưng vì trước đây chúng hoạt động riêng lẽ, không theo một quy trình, một lộ trình chung nào cả, hơn nữa người dân từ lâu đã quen với phương tiện di chuyển cá nhân, cộng thêm phương tiện di chuyển này lại không được tuyên truyền rộng rãi nên kết quả bước đầu không được khả quan Vì thế một website hướng dẫn tìm đường đi xe buýt phù hợp với yêu cầu của hành khách và hỗ trợ phổ biến thông tin về các tuyến, trạm của xe buýt đến đông đảo người dân là thật sự cần thiết.
1.2 Mục tiêu của đề tài
Mục tiêu của đề tài đặt ra là xây dựng hệ thống hỗ trợ tìm đường đi xe buýt trên web giúp hành khách tìm ra các lộ trình đi tối ưu và hợp lý trong thành phố đồng thời bước đầu tạo công cụ quản lý thông tin các tuyến xe buýt Đề tài là kết quả của quá trình nghiên cứu xây dựng và quản lý bản đồ topology dựa trên nền các hệ GIS hiện có Các công việc chính của đề tài bao gồm :
¾ Tìm hiểu nghiệp vụ và thu thập thông tin có liên quan về các tuyến, trạm trong thành phố Hồ Chí Minh
Trang 14¾ Do phải kết hợp giữa 2 layer đường bộ và xe buýt nên phải xây dựng công cụ tạo các tuyến, trạm xe buýt dựa trên bản đồ đường bộ đã số hóa theo topology ¾ Xây dựng thành phần hiển thị bản đồ và tìm tuyến đường đi xe buýt phù hợp
với yêu cầu của hành khách
¾ Tổ chức cơ sở dữ liệu để lưu trữ thông tin không gian và phi không gian của bản đồ sao cho phù hợp với định dạng của topology
¾ Xây dựng kiến trúc client - server để qua internet đưa thông tin GIS về các tuyến xe buýt rộng rãi đến người sử dụng
Trang 15Hình 2.1 Mô tả lớp giao thông đường bộ
Trang 16KHOA CNTT –
ĐH KHTN
4
Hình 2.2 Hai lớp giao thông đường bộ và xe bu ýt được định nghĩa tách biệt nhau
¾ Các giải pháp hiện có: Hiện bài toán được giải quyết theo 2 xu hướng, xu hướng thứ nhất là website chỉ dừng ở mức cung cấp thông tin về các tuyến đường đi và các trạm như website www.transerco.com của công tin vận tải và dịch vụ công cộng Hà Nội, xu hướng thứ hai ngoài cung cấp các thông tin về tuyến, trạm website còn hỗ trợ tìm các tuyến đi thích hợp cho nhu cầu đi lại của hành khách Tuy nhiên, đa số các website đều chưa giải quyết tốt bài toán do việc tìm kiếm thực hiện trên lớp giao thông xe buýt Do đó người sử dụng không được tuỳ tiện chọn điểm xuất phát và điểm đích bất kỳ trên bản đồ Hệ thống cũng sẽ không trả lời được câu truy vấn khi giữa điểm xuất phát và điểm đích không có tuyến đường liên thông nhau
Hình 2.3 Hệ thống không tìm được đường đi xe buýt do điểm xuất phát và điểm đích không thuộc đỉnh được đánh dấu
Trang 18Dữ liệu vector có thể được sử dụng Khó phát triển, triển khai và bảo trì Chất lượng hình ảnh tốt Đòi hỏi có phần mềm phụ thêm Giao diện phần mềm được đẩy mạnh Thời gian download lâu hơn Tính tương tác cao Không gắn bó theo chuẩn
hành hay browser
Bảng 2.1 Bảng mô tả các ưu khuyết điểm của kiến trúc client-side
Trang 19Phát triển đơn giản Giao diện ngườidùng thô sơ Khai triển dễ dàng Chất lượng đồ họa thấp
Bảo trì dễ dàng Chỉ có chức năng click chuột một lần ở browser
Gắn với các chuẩn của Internet Thời gian đáp ứng người dùng có thể lâu
Yêu cầu người sử dụng chỉ cần có Web Browser chuẩn
Yêu cầu ít băng thông
Dễ sử dụng đối với người dùng
Chia sẻ dữ liệu
Bảng 2.2 Bảng mô tả ưu khuyết điểm của kiến trúc server-side
Trang 20Hình 2.7 Hệ thống sẽ tìm đuợc đường đi tổng hợp : đi đoạn đuờng bộ rồi lên xe bu ýt sau
đó xuống đường bộ đi tiếp
Để thực hiện được điều này, ta cần phải xây dựng tuyến xe bu ýt trên lớp giao thông đường bộ đã được topology, sau đó tiến hành lưu dữ liệu tuyến xe bu ýt xuống cũng phải theo đúng cấu trúc của topology
2.2.2 Xét về khía cạnh kỹ thuật
¾ Lựa chọn kiến trúc
Kết hợp 2 kiến trúc client-side và server-side, hệ thống sẽ tận dụng lợi điểm của cả hai, trên server không cần xử lý phần thể hiện của người dùng, phần thao tác và dữ liệu bản đồ bên người sử dụng sẽ do phía client đảm nhiệm Kết quả là : việc phát triển, bảo trì server dễ dàng hơn, lượng công việc bên server được giảm nhẹ dẫn đến
Trang 21Thành phần server được xây dựng trên công nghệ NET của Microsoft Như tên của công nghệ này đã bộc lộ, lợi điểm lớn nhất của việc phát triển hệ thống dựa trên công nghệ này là tận dụng được sức mạnh hướng internet của Microsoft Do đó việc phát triển, bảo trì, nâng cấp hệ thống sẽ dễ dàng hơn thông qua những tính năng ưu việt sau :
。 Lập trình web bằng ASP.NET : hỗ trợ lập trình hướng đối tượng thuần túy khiến cho việc xây dựng dễ dàng hơn, đơn giản hóa việc sử dụng các bộ thư viện DLL khác từ website nhờ vào kiến trúc CLR của NET framework Một web form giờ đây có thể tách thành phần xử lý ra khỏi thành phần tạo giao diện nhờ vào sự hỗ trợ mã ẩn (code-behind) Do đó, hệ thống sẽ dễ bảo trì, dễ nâng cấp hơn
。 Cung cấp bộ thư viện truy xuất cơ sở dữ liệu ADO.NET khiến tăng tốc độ truy xuất dữ liệu, làm giảm gánh nặng cho các công việc cơ sở dữ liệu
。 Website có thể dễ dàng chuyển hướng phát triển thành một dịch vụ web nhờ vào khả năng hỗ trợ WebService mạnh mẽ của nền NET 。 Với bộ thư viện Mobile Toolkit được tích hợp vào NET ta có thể mở
rộng website đến với các thiết bị di động như máy Palm, Pocket PC, điện thoại di động…
y Thành phần client
Như trên đã đề cập nếu ta phát triển thành phần client bằng ActiveX thì hệ thống sẽ đòi hỏi người sử cài đặt thêm một phần add-in vào máy tính của họ, nghĩa là đòi hỏi người sử dụng phải có quyền admin trên máy đó Đây là một yêu cầu gần như là không thể thực hiện trong đa số các công ty hiện
Trang 23Hiện nay thành phố HCM có khoảng hơn 77 tuyến xe buýt hoạt động Mỗi tuyến xe buýt do một đơn vị chủ quản quản lý Mỗi đơn vị chủ quản sẽ phụ trách
một hay nhiều tuyến xe buýt khác nhau
Mỗi tuyến xe buýt sẽ đi theo một lộ trình, và có một chiều dài, thời gian lộ
trình nhất định Các tuyến xe buýt khác nhau sẽ có lộ trình khác nhau, nhưng có thể
giao nhau trong một khoảng lộ trình nào đó
Lộ trình bao gồm những tuyến đường và các địa danh quan trọng mà tuyến
xe buýt sẽ đi qua
Mỗi tuyến xe buýt có một lượt đi và lượt về Lộ trình đi và lộ trình về có
thể ngược nhau hoặc hoàn toàn khác nhau Có một số tuyến chỉ có lượt đi mà không có lượt về
Trạm đầu mối là trạm dừng của nhiều tuyến xe buýt Trạm này có thể là
trạm bắt đầu hoặc trạm kết thúc của một tuyến xe buýt Một tuyến xe buýt có thể có cùng một trạm đầu mối hoặc có một trạm đầu mối đầu và cuối khác nhau
Các tuyến xe buýt bắt đầu sớm nhất vào lúc 2h30 và kết thúc trễ nhất vào lúc 19h45
Tùy theo từng tuyến xe buýt mà chúng có thời gian bắt đầu và thời gian kết thúc
khác nhau
Mỗi tuyến xe buýt sẽ có nhiều chuyến xe buýt thay phiên nhau đến các nhà chờ hoặc trạm dừng để đón khách Tùy vào từng thời điểm trong ngày: thời gian
cao điểm, thời gian thấp điểm mà từng tuyến xe buýt sẽ có thời gian giãn cách
giữa các chuyến xe tương ứng: thời gian giãn cách cao điểm, thời gian giãn cách
thấp điểm
Trang 24Mỗi tuyến xe buýt có một khung giá nhất định ứng với từng hình thức đi xe
Có 3 hình thức đi xe buýt:
• Hình thức đi lên xuống: là những hành khách đón xe đi trong một khoảng
nhỏ lộ trình trong suốt lộ trình của tuyến xe buýt đó
• Hình thức đi < ½ lộ trình: là những hành khách chỉ đi trong khoảng ½ lộ
Như vậy nếu như tuyến xe buýt bạn đang đi không đến đúng nơi bạn cần đến thì khi đến các trạm dừng bạn phải xuống xe và đón tuyến xe phù hợp Cứ như vậy cho đến khi bạn đến đúng nơi cần đến
Trang 253.3.2 Các định nghĩa
Bảng chú giải này bao gồm các định nghĩa cho các khái niệm chính trong Hệ thống hỗ trợ tìm đường đi xe buýt trên Web
• BusLine: Tuyến xe buýt
• BusRoute: Lộ trình của tuyến xe buýt • BusStation: Trạm dừng xe buýt
• InChargeUnit: Đơn vị chủ quản • Road: Con đường
• Place: Địa điểm
• Lookup Info: Tra cứu thông tin về các đối tượng trên bản đồ
• Find Shortest Path: Tìm đường đi ngắn nhất giữa hai điểm trên bản đồ
Trang 27• Hệ thống phải hỗ trợ người dùng trong việc nhập thông tin tìm kiếm hay tra cứu dưới dạng chữ tiếng Việt có dấu (theo phông chữ Unicode) hay chữ tiếng Việt không dấu
3.4.8 Tính bảo mật
• Không có
3.4.9 Các ràng buộc thiết kế
• Hệ thống phải cung cấp giao diện tựa Windows
3.5 Xây dựng mô hình Use-case (Use-case Model)
3.5.1 Xác định Actor và Use case
• Actor
o User: Tra cứu thông tin, Tìm đường đi, Duyệt bản đồ
o Admin: Có vai trò như một user, ngoài ra còn có quyền quản lý các thông tin bản đồ
• Use case
o Tra cứu thông tin
Lookup BusLine Info (Tra cứu thông tin Tuyến xe buýt) Lookup Road Info (Tra cứu thông tin Đường)
Lookup Place Info (Tra cứu thông tin Địa điểm)
Trang 28 Pan (Di chuyển bản đồ)
Zoom (Phóng to / Thu nhỏ bản đồ) Fit2Window (Hiện toàn bộ bản đồ) o Quản lý thông tin
Maintain BusLine Info (Quản lý thông tin Tuyến xe buýt: thêm, xóa, sửa)
Maintain BusStation Info (Quản lý thông tin Trạm dừng: thêm, xóa, sửa)
Trang 30 Người sử dụng nhấn nút “Tìm kiếm” để xác nhận tra cứu thông tin tuyến xe buýt
Hệ thống sẽ truy cập cơ sở dữ liệu và lấy ra danh sách những tuyến xe buýt thỏa điều kiện tra cứu
Hệ thống hiển thị các thông tin tìm được ra cho người dùng Người dùng chọn tuyến xe buýt và nhấn nút “Xem chi tiết” nếu
muốn xem thông tin chi tiết về tuyến
Hệ thống hiển thị thông tin chi tiết tuyến xe buýt được chọn ra cho người dùng
o Các luồng sự kiện khác
Không có
• Các yêu cầu đặc biệt
Trang 31 Người sử dụng nhấn nút “Tìm kiếm” để xác nhận tra cứu thông tin đường
Hệ thống sẽ truy cập cơ sở dữ liệu và lấy ra danh sách những con đường thỏa điều kiện tra cứu
Hệ thống hiển thị các thông tin tìm được ra cho người dùng
Trang 32 Người sử dụng nhấn nút “Tìm kiếm” để xác nhận tra cứu thông tin địa điểm
Trang 34• Các yêu cầu đặc biệt
o Không có • Điều kiện tiên quyết
o Use case này phải được thực hiện sau khi người dùng thực hiện một trong các chức năng tra cứu thông tin bản đồ
• Post – conditions
o Nếu use case thực hiện thành công, hệ thống sẽ hiển thị bản đồ ra cho người dùng, ngược lại hệ thống sẽ hiển thị thông báo lỗi và quay trở về luồng sự kiện chính
Hệ thống yêu cầu người dùng nhập vào thông tin về vị trí bắt đầu và vị trí kết thúc của đường đi Người dùng có thể xác định các vị trí này theo nhiều cách: Nhập đường, hoặc giao lộ của
Trang 35 Hệ thống yêu cầu người dùng chọn tiêu chí tìm đường bao gồm: “Đường đi nhanh nhất”, hay “Chuyển tuyến ít nhất” và “Chiều dài đường bộ tối đa” Mặc định là tìm đường đi nhanh nhất và không giới hạn chiều dài đường bộ (ô nhập chiều dài đường bộ tối đa bỏ trống)
Người dùng nhập vào các tiêu chí tìm đường và nhấn nút “Tìm đường” để xác nhận việc tìm đường
Hệ thống tìm đường đi ngắn nhất thỏa yêu cầu và hiện thông tin tìm được ra cho người dùng
Người dùng nhấn nút “In kết quả” nếu muốn in kết quả tìm đường dưới dạng văn bản ra
Hệ thống in kết quả ra cho người dùng
• Điểm mở rộng
o Không có
Trang 36 Hệ thống yêu cầu người dùng nhập vào thông tin về vị trí xuất phát Người dùng có thể xác định các vị trí này theo nhiều cách: Nhập đường, hoặc giao lộ của hai con đường, hoặc địa điểm, hoặc xác định trực tiếp trên bản đồ
Người dùng nhập thông tin về các vị trí này Nếu người dùng không nhập gì cả thì mặc định hệ thống sẽ chọn ngẫu nhiên vị trí xuất phát để tìm
Hệ thống yêu cầu người dùng chọn tiêu chí tìm đường bao gồm: “Chiều dài đường bộ tối đa” nếu là đi bộ tới trạm dừng Mặc định là không giới hạn chiều dài đường bộ (ô nhập chiều dài đường bộ tối đa bỏ trống)
Người dùng nhập vào các tiêu chí tìm đường và nhấn nút “Tìm đường” để xác nhận việc tìm đường
Hệ thống tìm đường đi ngắn nhất tới trạm dừng gần nhất thỏa yêu cầu và hiện thông tin tìm được ra cho người dùng
Người dùng nhấn nút “In kết quả” nếu muốn in kết quả tìm đường dưới dạng văn bản ra
Hệ thống in kết quả ra cho người dùng
o Các luồng sự kiện khác
Không có
Trang 39• Điều kiện tiên quyết
o Người dùng thực hiện use case này thông qua Web Application
• Post – conditions
o Nếu use case thực hiện thành công, hệ thống sẽ hiển thị toàn bộ bản đồ ra cho người dùng, ngược lại hệ thống sẽ hiển thị thông báo lỗi và quay trở về luồng sự kiện chính
Trang 40 Người dùng chọn một chức năng cần thực hiện
Hệ thống tiến hành xử lý chức năng này Tùy theo chức năng được chọn mà có thể gọi thực hiện một trong các dòng sự kiện con sau: Thêm tuyến xe buýt (Add new BusLine), Xóa tuyến xe buýt (Delete a BusLine), Sửa tuyến xe buýt (Edit a BusLine)
o Các luồng sự kiện khác
Ở đây có các dòng sự kiện con sau:
Add new BusLine (Thêm tuyến xe buýt)
Người dùng nhập vào thông tin của một tuyến xe buýt bao gồm: Số hiệu tuyến, tên tuyến, chiều dài tuyến, đơn vị chủ quản, giá vé, thời gian hoạt động, thời gian giãn cách, trạm đầu, trạm cuối, lộ trình đi qua (dưới dạng chuỗi danh sách các con đường và địa điểm mà tuyến đi qua)
Người dùng nhấn nút “Lưu” để xác nhận thao tác thêm tuyến xe buýt
Hệ thống phát sinh mã tuyến xe buýt và tạo ra các cung xe buýt tương ứng
Hệ thống lưu trữ thông tin tuyến xe buýt mới vào cơ sở dữ liệu
Delete a BusLine (Xóa tuyến xe buýt)
Người dùng nhập số hiệu tuyến xe buýt cần xóa