CHƯƠNG 1 : GIỚI THIỆU VỀ GIẢI PHÁP ĐỊNH VỊ DI ĐỘNG
3.3. Thiết kế mô phỏng
Phần mô phỏng của đồ án sẽ thực hiện mô phỏng công việc của Server tại điểm theo dõi, gồm các chức năng đã nêu ở phần modul, như thêm/ loại bớt đối tượng theo dõi, gửi tin nhắn vị trí định kỳ tới mobile LBS, lưu lại log nhật ký của mục tiêu theo dõi …
3.3.1. Các phương thức trong bản mơ phỏng
Chương trình mơ phỏng chỉ thực hiện trên server, do vậy coi những thông tin đầu vào về vị trị của số điện thoại bị theo dõi là đã biết. Trong hệ thống thực tế, các thông tin này sẽ được nhận từ GMLC thông qua các phương pháp định vị di động đã biết. Khi này, thơng tin về vị trí của th bao di động bị theo dõi sẽ được sinh ngẫu nhiên theo một đường cho trước và hệ thống sẽ hiển thị thuê bao di chuyển trên bản đồ theo các vị trí đó.
Chương trình được viết bằng ngôn ngữ C# .NET 2008 với mã nhúng là MapXTreme 2008. Thư viện MapXTreme 2008 được phát triển từ công ty MapInfo ứng dụng cho hiển thị bản đồ dạng Vector.
Chương trình gồm các phương thức sau:
• Project DoAn: Là Project chứa tồn bộ giao diện chương trình, gửi thơng tin vị trí thơng qua SMS, các chức năng đọc các lệnh yêu cầu của người theo dõi, và sử dụng project MapAction để thực hiện. • Project MapAction: Chứa tất cả các phương thức, các class có
nhiệm vụ ghi log sự kiện, lấy thơng tin về vị trí của mục tiêu theo dõi, tra cứu thông tin một thuê bao …
Cây thực hiện của phần mô phỏng như sau:
Đồ án tốt nghiệp Đại học Chương 3: Thiết kế modul chức năng và mô phỏng
Class Mô tả
DoAn MapForm1 Giao diện chương trình chính chứa bản
đồ cần hiển thị, thực hiện truy vấn thông tin, gửi tin SMS đều qua giao diện này. Form1 Là giao diện hiển thị thông tin về thuê
bao và log nhật ký của thuê bao theo dõi. Form2 Là Form dùng để cập nhật thông tin của
một thuê bao nào đó vào cơ sở dữ liệu. HienThiBanDo Hiển thị bản đồ log nhật ký của thuê bao
đã đi qua.
MapAction ReadXMLContent Thực hiện tất cả các câu lệnh liên quan đến đọc dữ liệu, lấy địa chỉ SMS và gửi SMS, loại bỏ một thuê bao đã lập lịch theo dõi trong khoảng thời gian nào đó. ReadXMPPoint Đọc thơng tin về vị trí xuất hiện của một
thuê bao (ở đây là lấy từ một file có sẵn – do khơng có dữ liệu đầu vào)
WriteXMLLog Lưu lại log sự kiện
SMSAction Thực hiện gửi tin SMS theo hai tùy chọn, gồm đẩy tin SMS đến Server có tại trung tâm theo dõi, hoặc qua web; và gửi tin SMS thông qua một bộ giả lập ModemGSM có gắn sim gửi đến số điện thoại khác.
Bảng 3.1: Các Class trong mô phỏng
Các phương thức thực hiện trong mỗi Class được thể hiện ở bảng 3.2. Do project MapAction là quan trọng nhất, do vậy, tôi chỉ nêu các phương thức thực hiện của các class trong project này.
Phương thức Mô tả
ReadXMLContent AddScheduledTask Lập lịch theo dõi một đối tượng liên tục trong một khoảng thời gian nào đó. DelScheduledTask Xóa thuê bao đã được lập lịch.
GetExist Kiểm tra xem thuê bao đã được lập lịch theo dõi chưa?
GetHistory Lấy thông tin log của đối tượng.
GetListScheduledTask Lấy toàn bộ list những người đã lập lịch.
GetPersonInfo Lấy thông tin về một số điện thoại theo dõi.
UpdateScheduledTask Thay đổi lập lịch của số điện thoại đã theo dõi
WriteXMLLog insertNewLog Ghi thông tin của số điện thoại đang bị theo dõi vào gồm tọa độ (x, y) theo lat, long; thời gian ; và trạng thái lúc đó là Nghe, gọi, hay bình thường …
insertNewPerson Ghi mới một số điện thoại cần theo dõi updatePerson Thay đổi thơng tin cá nhân người đó
trên file log.
ReadXMLPoint CreateHashTablePoint Tạo ra mảng đường đi của các thuê bao bị theo dõi
SMSAction SendSMS Gửi thơng tin về vị trí cho số điện thoại của trinh sát đang theo dõi đối tượng.
Bảng 3.2 Các phương thức thực hiện trong các class của MapAction3.3.2. Các file lưu trữ trong mơ phỏng 3.3.2. Các file lưu trữ trong mơ phỏng
Trong chương trình mơ phỏng gồm các file định nghĩa các lớp sử dụng, các biến, đường dẫn các file… và những file lưu trữ log nhật ký của đối tượng bị theo dõi. Các file cơ sở dữ liệu này đều được viết dưới dạng ngơn ngữ đánh dấu XML trình bày trên các tag khác nhau.
• AppLogPhone.xml: Lưu trữ vị trí di chuyển của một thuê bao, nằm trong
tag <PhoneLog> <Location>, với tag cha là thơng tin về th bao bị theo dõi đó, gồm các thơng tin về tên tuổi, Số CMT nhân dân, địa chỉ …
• ScheduledTask.xml: Lưu trữ các số điện thoại được lập lịch theo dõi trong
một khoảng thời gian nào đó. Khi hết hạn thời gian này, chương trình sẽ tự động xóa các thuê bao được lập lịch ở đây đi.
• Point.xml: Lưu trữ các thơng tin về vị trí của thuê bao (sử dụng cho lấy
ngẫu nhiên tọa độ của thuê bao bị theo dõi)
Đồ án tốt nghiệp Đại học Chương 3: Thiết kế modul chức năng và mơ phỏng
• AppConfig.xml: Lưu trữ thơng tin về địa chỉ cổng gửi SMS, nhằm ứng
dụng gửi tin SMS đến người theo dõi qua thiết bị đầu cuối điện thoại.
3.3.3. Những sự kiện trong bản mô phỏng
Hệ bản đồ sử dụng để hiển thị là bản đồ Hà Nội, thuộc loại bản đồ vector. Bản đồ vector hiển thị đối tượng, tìm kiếm đều dựa trên các lớp và các đối tượng. Do vậy, để hiển thị vị trí của thuê bao trên bản đồ, đầu tiên bản đồ sẽ tạo một lớp tương ứng với số điện thoại, có các giá trị thuộc lớp đó chính là ví trí mà thuê bao bị theo dõi đi qua.
Chúng ta xét một ví dụ như sau: khi chúng ta theo dõi một số điện thoại 0912345678, trên các lớp của bản đồ sẽ thêm một lớp có tên là 0912345678, và có giá trị trong đó là vị trí mà th bao đó đi qua. Ngồi ra, bản đồ cũng sẽ tạo ra một lớp là lớp thời gian lưu lại những thời điểm tại nơi thuê bao được hiển thị trên bản đồ.