Thiết kế chức năng

Một phần của tài liệu Xây dựng hệ thống hỗ trợ giám sát xe bus tại trung tâm vận hành (Trang 46 - 50)

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.2. Thiết kế chức năng

Tạo phiên làm việc với bản đồ khu vực. Xóa các bảng của xe bus có

được tạo ra từ phiên làm việc trước.

Catalog Cat = MapInfo.Engine.Session.Current.Catalog;

for (int i = 1; i < 10; i++) Cat.CloseTable(i.ToString());

Chức năng này sử dụng hàm ViewBusPosition(string s, int[] a) để hiển thị tất cả vị trí các xe đang hoạt động lên bản đồ.

Hình 3.2: Sơ đồ thuật toán hiển thị vị trí xe

Hệ thống thông tin sẽ gửi thông tin của các xe đang hoạt động trong 1 file XML. Hệ thống sẽ đọc thông tin từng xe và dùng nó để hiển thị lên bản đồ.

- DrawPoint() với đầu vào là mã xe, vị trí xe và trạng thái dừng hay đi của xe sẽ vẽ vị trí của xe lên bản đồ, với mỗi trạng thái dừng hay đi sẽ có một màu hiển thị khác nhau.

- SavePosition() với đầu vào là mã xe, vị trí xe, chiều đi, trạng thái đi hay dừng của xe sẽ lưu các thông tin của xe vào bảng LOTRINH của cơ sở dữ liệu

Hàm SavePosition()sử dụng hàm CountL() để xác định số lượng lượt đi của xe trong ngày hôm đó. Hàm SavePosition() phải xác định xem xe có phải là bắt đầu một chuyến đi mới trong ngày không. Nếu phải thì sử dụng sẽ lưu vào cơ sở dữ liệu với số thứ tự lượt tăng thêm một, nêu không phải thì giữ nguyên.

Hình 3.3: Sơ đồ thuật toán của hàm SavePosition()

Cuối cùng là update danh sách các xe đang hoạt động để thống kê về số

lượng, chiều đi, chiều về bằng các truy vấn SQL đến cơ sở dữ liệu.

3.2.2. Chức năng theo dõi

Khi người giám sát đưa ra yêu cầu giám sát một xe nhất định, hệ thống sẽ gửi yêu cầu thông tin của xe đó lên hệ thống thông tin.

Khi nhận đươc thông tin về xe được theo dõi, chức năng theo dõi sẽ vẽ một điểm trên bản đồ tương ứng với vị trí của xe. Và cập nhật biểu diễn lộ

trình của xe trên bản đồ.

Nếu có vi phạm, người giám sát sẽ cảnh bảo, và chức năng sẽ lưu lại thông tin về thời gian, mã xe, tuyến xe, vị trí, chiều đi, trạng thái dừng đỗ của xe vào bảng VIPHAM trong cơ sở dữ liệu sử dụng truy vấn SQL.

Hàm Draw_Point() được dùng để vẽ vị trí của xe tại thời điểm hiện tại.

Hàm Draw_Line() được dùng để update đường đi của xe bus lên trên bản đồ.

Hình 3.4: Sơ đồ thuật toán chức năng theo dõi lộ trình xe 3.2.3. Thiết kế cài đặt chức năng quản lý

Chức năng quản lý sẽ lấy thông tin từ cơ sở dữ liệu có sẵn về xe, tuyến, Draw_Line()

Draw_Point()

Cảnh báo

Lưu vi phạm Thông tin xe

bus theo dõi

Yes

No

quản lý xem lại lộ trình theo ngày của từng xe trong tuyến theo các lượt cả

chiều đi và chiều về.

3.2.4. Chức năng xem lại lộ trình

Khi người quản lý có yêu cầu xem lại lộ trình của xe. Người quản lý sẽ lựa chọn ngày và xe muốn xem lại. Hệ thống sẽ tự động thống kê danh sách các lượt đi và lượt về của xe được chọn trong ngày đó nếu có. Nếu không có

thì sẽ có thông báo cho người quản lý biết.

Người quản lý lựa chọn chiều đi hay chiều về của các lượt cần xem. Hệ thống sẽ vẽ lại lộ trình của xe trong lượt đi đó lên trên bản đồ.

Chức năng xem lại lộ trình sử dụng các truy vấn SQL để lấy thông tin về lộ trình của xe từ bảng LOTRINH. Sau đó dùng hàm ReviewBusLine() để

vẽ lại toàn bộ lộ trình của xe trong tuyến đó.

Hình 3.5: Sơ đồ thuật toán chức năng xem lại lộ trình xe

3.2.5.Chức năng thống kê vi phạm

Khi muốn thống kê các vi phạm của xe theo ngày, người quản lý sẽ lựa chọn ngày cần thống kê. Hệ thống sẽ tìm kiếm trong bảng VIPHAM, nếu có

thông tin vi phạm thì sẽ hiện ra một bảng thống kê các vi phạm trong ngày đó, nếu không có thông tin vi phạm thì sẽ thông báo cho người quản lý biết.

Chức năng thông kê vi phạm sẽ sử dụng các truy vấn SQL để thống kê các vi phạm trong ngày đã chọn của các tuyến và các xe.

Một phần của tài liệu Xây dựng hệ thống hỗ trợ giám sát xe bus tại trung tâm vận hành (Trang 46 - 50)

Tải bản đầy đủ (PDF)

(59 trang)