Phân tích hệ thố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 40)

2.2.1. Sơ đồ chƣ́c năng

Hình 2.1: Sơ đồ chức năng của hệ thống giám sát xe bus

Mỗi chức năng của hệ thống đều có những chức năng nhỏ để hỗ trợ lẫn nhau.

- Chức năng hiển thị ngoài việc hiển thị vị trí các xe đang hoạt động thì còn có chức năng lưu lại thông tin lộ trình của từng xe để phục vụ cho việc xem lại lộ trình của các xe ở chức năng xem lại lộ trình.

- Chức năng theo dõi ngoài việc theo dõi lộ trình của một xe thì còn có chức năng cảnh báo, lưu vi phạm giúp cho người vận hành có thể lưu lại những vi phạm phát hiện ra khi theo dõi lộ trình của xe.

- Chức năng xem lại lộ trình ngoài việc xem lại lộ trình xe, còn có chức năng thống kê các vi phạm trong ngày của các tuyến xe.

2.2.1.1. Chức năng hiển thị

sẽ xác định mã xe của từng xe, lấy thông tin về bản đồ tương ứng và hiển thị vị trí của các xe lên bản đồ.

- Đầu vào của chức năng: thông tin về mã xe,chiều đi, vị trí và trạng thái của các xe đang hoạt động từ hệ thống thông tin.

- Đầu ra của chức năng: Hiển thị vị trí của các xe đang hoạt động và trạng thái dừng/đi của nó trên màn hình.

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

a. Chức năng theo dõi xe

Chức năng theo dõi có nhiệm vụ theo dõi lộ trình của một xe được chọn. Khi nhận được thông tin lộ trình của xe được chọn, hệ thống sẽ tìm kiếm vị trí trước đó của xe nếu có trên bản đồ và update thêm vào lộ trình của xe trên bản đồ

- Đầu vào của chức năng: yêu cầu theo dõi của người vận hành, thông tin mã xe, chiều đi, vị trí, trạng thái của xe được chọn từ hệ thống thông tin.

- Đầu ra của chức năng: đường đi của xe trên màn hình, cung cấp khả năng cảnh báo vi phạm cho người điều hành.

b. Chức năng cảnh báo

Chức năng cảnh báo giúp cho người giám sát có thể lưu lại thông tin vi phạm của một xe trong khi đang giám sát xe đó.

Khi có yêu cầu lưu cảnh báo của người giám sát, hệ thống sẽ xác định xe đang theo dõi và lưu thông tin về mã xe, tuyến, vị trí, chiều đi, trạng thái của xe đang được theo dõi lộ trình vào bảng VIPHAM của cơ sở dữ liệu.

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

a. Lưu cơ sở dữ liệu

Chức năng lưu cơ sở dữ liều được thực hiện trong khi đang giám sát vị trí các xe đang hoạt động. Nó có nhiệm vụ lưu lại tất cả thông tin của xe đang hoạt động vào cơ sở dữ liệu để phục vụ cho việc xem lại lộ trình của các xe.

Thông tin lưu lại bao gồm: thời gian, mã xe, vị trí, trạng thái, chiều đi, lượt đi trong ngày của từng xe.

- Đầu vào: Thông tin về chiều, vị trí, trạng thái của các xe đang hoạt động từ hệ thống thông tin.

-Đầu ra: thông tin về lộ trình của xem bảng LOTRINH của cơ sở dữ liệu.

b. Xem lại lộ trình của xe

Chức năng này giúp cho người quản lý có thể xem lại lộ trình của từng xe trong ngày, dùng để kiểm tra lại lộ trình của xe xem có vi phạm hay không. - Đầu vào: Yêu cầu xe cần xem lại của người quản lý, thông tin về lộ trình của xe từ cơ sở dữ liệu.

- Đầu ra: Lộ trình của xe được chọn.

c. Thống kê vi phạm

Chức năng xem lại vi phạm dùng để thống kê các vi phạm của các tuyến và các xe trong ngày

- Đầu vào: Yêu cầu xem vi phạm của người quản lý, thông tin vi phạm của các xe trong ngày từ cơ sở dữ liệu.

- Đầu ra: Số lượng vi phạm trong ngày, danh sách các xe vi phạm theo tuyến. (adsbygoogle = window.adsbygoogle || []).push({});

2.2.2. Biểu đồ luồng dƣ̃ liệu

Hình 2.2: Biểu đồ luồng dữ liệu mức khung cảnh

- Hệ thống thông tin : Đây chính là khối công việc quan trọng nhất trong toàn bộ hệ thống dịch vụ bản đồ của nhóm. Tuy nhiên, xét trong hệ thống hỗ trợ theo dõi xe bus tại trung tâm vận hành thì đó lại là một tác nhân ngoài. Hệ thống thông tin có tác dụng lắng nghe các yêu cầu từ client, sau đó truy xuất và xử lý dữ liệu và cuối cùng là trả lại kết quả cho client.

- Người điều hành: Là những người sử dụng ứng dụng theo dõi tại trung tâm xe bus, họ sẽ đưa ra các yêu cầu thông qua giao diện của chương trình thực hiện các chức năng đã có.

2.2.2.2. Phân tích các yêu cầu chức năng

a. Nhận thông tin

Dữ liệu thông tin về xe của hệ thống được nhận từ hệ thống thông tin qua vệ tinh theo chu trình thời gian là 1 phút. Thông tin về xe bus bao gồm có: mã xe để xác định xe và tuyến xe, chiều đi của xe (là chiều đi hay chiều

Hệ thống thông tin qua vệ tinh

Hệ thống hỗ trợ theo dõi xe bus tại trung tâm vận hành

Ngƣời điều hành

Thông tin xe bus Yêu cầu

thông tin xe

Yêu cầu giám sát

Thông tin vị trí xe Yêu cầu quản lý xe

Thông tin lộ trình vi phạm

về), vị trí của xe (tọa độ của xe theo hệ quy chiếu của trái đất), trạng thái của xe (dừng hay đi). Hệ thống sẽ hiển thị bản đồ khu vực lấy từ cơ sở dữ liệu bản đồ có sẵn.

b. Khối giám sát

Sau mỗi một phút, hệ thống sẽ gửi yêu cầu đến hệ thống thông tin để lấy thông tin về các xe đang hoạt động. Khi nhận được thông tin, với mỗi một xe mới, hệ thống sẽ tự tạo một bảng trên bản đồ và vẽ vị trí của xe lên một lớp phía trên bản đồ có sẵn.

Khi người giám sát yêu cầu theo dõi lộ trình của một xe nhất định, hệ thống sẽ gửi thông tin yêu cầu vị trí của xe đến hệ thống thông tin và bắt đầu theo dõi xe. Sau mỗi một phút, hệ thống sẽ vẽ đường đi của xe bus được chọn theo dõi. Đường đi của xe có phân biệt lượt đi và lượt về, trạng thái của xe dừng hay đi tại thời điểm đó.

Khi phát hiện có vi phạm, người giám sát sẽ thực hiện chức năng cảnh báo, hệ thống sẽ lưu thông tin vi phạm của xe vào cơ sở dữ liệu để có thể thống kê lại khi cần thiết.

c. Khối quản lý

Hệ thống hỗ trợ người quản lý có thể xem lại lộ trình của các xe đã hoạt động theo ngày, thống kê các vi phạm nếu có.

Khi muốn xem lại lộ trình của một xe, người quản lý sẽ lựa chọn ngày cần xem, xe cần xem, lượt đi trong ngày đó hệ thông sẽ vẽ lại lộ trình của xe đó lên trên bản đồ.

Khi muốn thống kê vi phạm, người quản lý chọn ngày cần thống kê. Nếu có thông tin vi phạm, hệ thống sẽ thống kê lại tổng số vi phạm trong ngày của các xe. Người quản lý có thể xem chi tiết từng tuyến và từng xe có vi phạm.

CHƢƠNG 3: THIẾT KẾ HỆ THỐNG 3.1. Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu cho hệ thống bao gồm các bảng sau:

TUYEN(TENTUYEN, BENDAU, BENCUOI): chứa thông về các tuyến xe.

BUS(MAXE, TENTUYEN, TENNGUOILAI, SOHIEUXE): chứa thông tin về các trong hệ thống xe bus.

BEN(MABEN, TOADOX, TOADOY): chứa thông tin tọa độ của các bến trong cả hệ thống xe bus.

BENTUYEN(TENTUYEN, MABEN): quy chiếu giữa tuyến xe và bến. LOTRINH(TIME, MAXE, TOADOX, TOADOY, LUOT, CHIEU, STATE): chứa thông tin về lộ trình của các xe do chức năng giám sát lưu trữ. (adsbygoogle = window.adsbygoogle || []).push({});

VIPHAM(MAXE, TENTUYEN, TOADOX, TOADOY, CHIEU, STATE): chứa thông tin vi phạm của các xe do chức năng giám sát lưu trữ.

3.2. Thiết kế chức năng 3.2.1. Chức năng hiển thị

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.

CatalogCat = MapInfo.Engine.Session.Current.Catalog; for (inti = 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

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 đồ. (adsbygoogle = window.adsbygoogle || []).push({});

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 đó.

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.

3.3. Thiết kế giao diện

Hình 3.6: From giao diện ban đầu của hệ thống hỗ trợ theo dõi lộ trình xe bus

3.3.1. Hiển thị vị trí xe

Hệ thống đã hiển thị được các vị trí của các xe đang hoạt động. Với các xe đang đỗ thì điểm hiển thị có màu xanh, các xe đang di chuyển thì có màu đỏ.

Hình 3.7: Form kết quả hiển thị vị trí các xe đang hoạt động

Hệ thống đã lưu được thông tin lộ trình của xe vào trong bảng LOTRINH.

3.3.2. Theo dõi vi phạm

Qua thử nghiệm, đã thấy được hệ thống có thể cho thấy rõ lộ trình của xe có đi đúng trên lộ trình hay không, có mắc vi phạm tại thời điểm theo dõi hay không.

Hình 3.9: Form kết quả giám sát lộ trình của xe (Chiều đi)

Khi phát hiện có vi phạm, có thể thực hiện được chức năng cảnh báo để lưu thông tin xe vào bảng VIPHAM.

Hình 3.10: Thông báo khi đã lưu xong vi phạm

3.3.3. xem lại lộ trình

Khi bật chức năng xem lại lộ trình, hệ thống sẽ bật các lựa chọn để xem lại.

Hình 3.12: Lựa chọn thông tin xe cần xem lại lộ trình

Nếu có thông tin về lộ trình của xe thì có thể xem lại được cả chiều đi và chiều về của xe được lựa chọn, qua lộ trình được xem lại có thể xem được vi phạm về đi sai lộ trình của xe.

Hình 3.14: Lộ trình của xe được xem lại (Chiều về, không vi phạm)

Chức năng thống kê vi phạm đã liệt kê đúng số lượng vi phạm, và có thể lựa chon xem được từng vi phạm theo tuyến và theo xe.

3.4. Thƣ̉ nghiệm kịch bản

Vì hệ thống vẫn chưa kết nối được đến với hệ thống thông tin nên việc thử nghiệm sẽ chạy trên file dữ liệu có sẵn.

3.4.1. Hiển thị vị trí xe

Với chức năng hiển thị vị trí xe, hệ thống sẽ đọc vị trí các xe lần lượt trong 21 file text, vị trí các xe sẽ nằm trong 15 điểm có tọa độ cố định trong 3 tuyến đường có sẵn. Khi đọc hết 21 file text, các xe đều hoàn thành một vòng đầy đủ của các lượt đi. Hệ thống sẽ đọc lại từ đầu khi hết 21 file.

Trong mỗi file sẽ có các thông tin của các xe đang hoạt động theo khuôn mẫu sau:

Sau đây là bảng thứ tự, vị trí của các xe xuất hiện trong kịch bản giám sát vị trí các xe:

Mã xe File 5 1 6 3 4 File 1 15 File 2 14 1 File 3 13 2 15 File 4 12 3 14 5 File 5 11 4 13 6 File 6 10 12 7 File 7 9 4 11 File 8 8 3 10 7 File 9 2 9 6 5 File 10 1 8 5 6 File 11 8 7 File 12 9 8 File 13 10 1 9 7 File 14 11 2 10 5 6 File 15 12 3 11 6 5 File 16 13 4 12 7 File 17 14 13 File 18 15 4 14 7 File 19 3 15 6 File 20 2 5 File 21 1

Mỗi khi đọc được thông tin của một xem hệ thống sẽ lưu thông tin của xe đó vào bảng LOTRINH.

Kết quả mong đợi: Hiển thị được vị trí các xe đang hoạt động liên tục, thể hiện được trang thái của xe đang dừng hay đang đi, lưu được thông tin về lộ trình của xe vào bảng LOTRINH trong cơ sở dữ liệu. (adsbygoogle = window.adsbygoogle || []).push({});

3.4.2. Theo dõi lộ trình xe

Chức năng theo dõi lộ trình, thực hiện việc theo dõi 2 xe trong tuyến BK03 có mã xe là 8 và 9. Hệ thống sẽ đọc từng dòng của file text chứa thông tin lần lượt từng vị trí của một xe.

Trong quá trình theo dõi lộ trình của xe, sẽ có những vị trí xe mắc vi phạm, các vi phạm là bỏ bến, đi sai lộ trình khi đó người giám sát sẽ thực hiện việc cảnh báo và lưu vi phạm của xe vào trong bảng VIPHAM của cơ sở dữ liệu.

Kết quả mong đợi: Vẽ được lộ trình của xe lựa chọn chính xác, thể hiện rõ được chiều đi, trạng thái xe đang dừng hay đang đi, dễ dàng thấy được vi

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 40)