Hiện nay thành phố Hà Nội có rất nhiều các tuyến xe buýt trong nội thành và từ nội thành đến các điểm ngoại thành và đi đến các thành phố vệ tình, các tuyến xe buýt do một đơn vị chủ quản, đơ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 đi theo một lộ trình cụ thể, có khoảng cách các điểm, thời gian bắt đầu, thời gian kết thúc và thời gian lộ trình nhất định, các tuyến xe khác nhau thì sẽ có lộ trình và thời gian khác nhau, trong đó lộ trình bao gồm các tuyến đƣờng và các địa danh mà tuyến xe sẽ đi qua.
Có các trạm xe, đây là các trạm dừng của nhiều tuyến xe buýt, cũng có thể là trạm đầu của tuyến này nhƣng lại là trạm kết thúc của tuyến xe khác.
Điểm dừng là các trạm nhỏ để hành khách chờ khi đón xe và đây cũng là nơi để khách xuống xe, các điểm dừng đƣợc bố trí dọc theo lộ trình của các tuyến xe buýt. Mỗi điểm dừng có thể thuộc lộ trình đi hoặc lộ trình về của một tuyến xe buýt , một điểm dừng là điểm đón trả khách của nhiều tuyến xe khác nhau.
Trong bản đồ xe buýt có thể xây dựng rất nhiều tiện ích cho ngƣời dùng sử dụng nhƣ tìm đƣờng đi, tìm địa điểm vui chơi, hay chỉ đƣờng đi từ điểm A đến điểm B. Một trong những vấn đề cần xử lý là tính xác thực của dữ liệu tại các điểm dừng xe buýt. Không thể đi từ điểm A tại thời điểm h1 đến điểm B tại thời
điểm h2 mà h2 < h1 đƣợc. Hoặc xử lý yêu cầu tính khoảng cách giữa các điểm đầu và một điểm bất kỳ trên chặng đƣờng.
- Bài toán thực hiện các yêu cầu nhƣ tại một thời điểm trong ngày kiểm tra xem các trạm xe buýt nào trên bản đồ còn hoạt động. Giả sử một tuyến xe buýt có 20 điểm dừng tuyến, với khoảng cách tƣơng đối thời gian đi từ điểm này đến điểm tiếp theo là 5 phút thì thời gian cả tuyển là 100 phút. Nếu tuyến xe buýt bắt đầu hoạt động lúc 05:00:00 thì ngƣời đón xe buýt không nên đón xe tại chặng thứ 10 lúc 05:15:00. Vậy làm sao để quản lý đƣợc thời gian hoạt động tƣơng đối giữa các trạm để khách đi xe tiết kiệm đƣợc thời gian của mình nhiều nhất.
- Hoặc trƣờng hợp khi hết giờ hoạt động của các chuyến xe, có nhiều tuyến xe đã nghỉ chạy nhƣng làm sao biết các tuyến nào còn đang hoạt động. - Nhƣ vậy, đó là hai trong số nhiều tiện ích thú vị có thể áp dụng các kiến
thức ràng buộc trong trigger để xử lý các ràng buộc trong việc Insert, Update thời gian xuất phát đầu tiên của trạm đó.
Hệ thống phải đảm bảo cung cấp các chức năng tối thiểu của một hệ thống thông tin địa lý nhƣ.
- Duyệt bản đồ - Phóng to - Thu nhỏ - Trƣợt bản đồ - Xem bản đồ.
Ngoài ra, phục vụ yêu cầu của bài toán đã đề ra, hệ thống cần có thêm chức năng
- Cập nhật
- Xóa, chỉnh sửa - Lƣu dữ liệu. Các chức năng chính nhƣ:
- Hỗ trợ hành khách tìm thông tin tổng quát về các tuyến, thời gian bắt đầu, thời gian kết thúc.
- Hỗ trợ hành khách tìm các tuyến xe buýt phải đón qua các điểm dừng trên lộ trình do hành khách chỉ định.
- Hỗ trợ ngƣời quản trị quản lý và xây dựng, cập nhật thông tin về các tuyến xe buýt trong nội thành phố Hà Nội.
Trên cơ sở phân tích các chức năng trên của hệ thống nhƣ trên, xây dựng đƣợc biểu đồ use case thể hiện các chức năng chính của hệ thống nhƣ sau
Hình 3.1: Mô hình Use – case