Phần này sẽ trình bày về phân tích và đưa ra các chức năng của hệ thống. Phía Server sẽ giữ vai trò chính là cung cấp thông tin, phía client sẽ thực hiện vai trò chính là tiếp nhận profile của người dùng, gửi thông tin và trình bày kết quả trả về từ server.
4.2.1 Chức năng phía server
Từ kiến trúc hệ thống, chúng ta cũng hình dung phần nào vai trò của Server. Để có được những loại dữ liệu như profile, lịch sử, sự kiện lập lịch và dữ liệu bản đồ. Thì Server tạo mới, sửa, xóa, và đọc được các dữ liệu đó. Tiếp đến là cụm chức năng tìm kiếm, và cuối cùng không kém phần quan trọng là việc kết nối với Client. Hình 4.2 sau sẽ phản ánh biểu đồ phân rã chức năng của Server.
Hình 4.2 Sơ đồ phân rã chức năng phía Server
Sau đây là chi tiết chức năng của Server:
Kết nối: Server phải phối hợp ăn khớp với Client để đạt được hiệu quả hoạt
động của hệ thống, bởi vậy tính năng kết nối của phía Server là cần thiết. Lúc này Server đóng vai trò nhận và trả thông tin.
+ Nhận thông tin yêu cầu: tiếp nhận thông tin từ Client gửi tới. Thông tin này
bao gồm vị trí, thời gian của Client và nội dung truy vấn của người dùng.
+ Gửi trả kết quả: gửi lại kết quả cho Client. Sau khi Server tiếp nhận yêu cầu
Tải thông tin từ nơi cơ sở dữ liệu: Sau khi nhận được yêu cầu từ phía người
dùng, hệ thống server sẽ tiến hành tải về dữ liệu cần thiết từ các kho dữ liệu. Chức năng này gồm các chức năng con sau:
+ Tải về dữ liệu hồ sơ người dùng: đây là việc lấy về các liệu profile cụ thể của
khách hàng yêu cầu.
+ Tải về dữ liệu lịch sử người dùng: dữ liệu lịch sử cũng sẽ là một phần quan
trọng trong việc quyết định tới kết quả tìm kiếm được có thỏa mãn yêu cầu của khách du lịch hay không, sau khi tải dữ liệu profile người dùng thì hệ thống sẽ thực hiện công việc tải dữ liệu lịch sử này.
+ Tải về dữ liệu chủ đề: lấy về dữ liệu nội dung theo các chủ để. Các chủ đề
được tổ chức theo một mạng phân cấp bậc nhất định giống như một cây có nhiều phân nhánh nhỏ. Việc phân dữ liệu thành từng nhánh của chủ đề tạo thuận lợi cho hiệu suất tìm kiếm dữ liệu sau này.
+ Tải về dữ liệu sụ kiện đã lập lịch: trích rút ra dữ liệu về các sự kiện đã được
lập lịch sẵn. Ví dụ như lấy ra thông tin của sự kiện trình diễn thời trang thu đông hoặc thông tin các trận bóng chuyền vào ngày mai.
+ Tải dữ liệu về mật độ giao thống: là việc nạp các dữ liệu từ cơ sở dữ liệu mật
độ giao thông. Công việc này nhằm phụ vụ cho dịch vụ thông báo mật độ giao thông để tránh gặp phải con đường xảy ra ùn tắc trong quá trình tham quan du lịch của du khách.
Cập nhật dữ liệu: chức năng này cho phép người quản trị cơ sở dữ liệu cập nhật
nội dung của dữ liệu khi có yêu cầu thay đổi. Các loại dữ liệu có thể thay đổi được bao gồm dữ liệu profile người dùng, dữ liệu nội dung theo chủ đề và dữ liệu sự kiện được lập lịch sẵn.
+ Cập nhật thông tin profile của người dùng: mỗi khi người dùng có yêu cầu
thay đổi profile của họ nhằm mong muốn nhận được thông tin mà họ quan tâm hơn, hệ
thống sẽ thực thi chức năng cập nhật lại thông tin profile theo yêu cầu đó.
+ Cập nhật dữ liệu nội dung chủ đề: Khi nội dung quảng cáo cho các địa danh
du lịch thay đổi thì nội dung chủ đề cũng phải thay đổi theo, chức năng cập nhật nội dung chủ đề cho phép người quản trị cơ sở dữ liệu có thể thêm, sửa, xóa thông tin về các chủ đề nhằm lưu lại những thông tin mới nhất cho nội dung các chủ đề.
+ Cập nhật dữ liệu sự kiện đã được lập lịch: là việc cập nhật lại các sự kiện có
một rạp nào đó thì thông tin trong cơ sở dữ liệu sự kiện lập lịch cũng được thay đổi
theo.
Dự đoán vị trí tương lai của người dùng: dựa vào lịch sử di chuyển bao gồm vị
trí ở hiện tại và quá khứ của người dùng mà hệ thống có thể dự đoán được vị trí, hướng đường đi tương lai của người dùng trong khoảng thời gian t nào đó. Nhờ áp dụng kỹ thuật này mà Server sẽ chủ động gửi thông tin luôn cập nhật và phù hợp với người dùng trong miền di chuyển, giảm thiểu độ trễ của thông tin tới người dùng của hệ thống.
Tìm kiếm thông tin:
+ Tìm kiếm dựa vào vị trí: là chức năng đơn giản nhất và cơ bản nhất mà hệ
thống phải đáp ứng được. Từ vị trí hiện tại của thiết bị gửi về, Server sẽ thực hiện tìm kiếm các điểm được lưu ở các cơ sở dữ liệu lịch sử người dùng, dữ liệu sự kiện lập lịch và dữ liệu nội dung chủ đề trong vòng bán kính R nào đó. Kết quả của việc tìm kiếm tương đối nhiều và không sử dụng một phép lọc nào ngoài lọc theo bán kính
+ Tìm kiếm dựa vào vị trí và thời gian: Cũng giống với chức năng tìm kiếm dựa
vào vị trí, là dựa vào yếu tố vị trí hiện tại của người dùng, nhưng mở rộng thêm một yếu tố để lọc lấy dữ liệu nữa đó là yếu tố thời gian. Một ví dụ của yêu cầu tìm kiếm dựa vào vị trí và thời gian như khách hàng mong muốn tìm được lịch chiếu phim ở rạp Quốc gia vào cuối tuần này. Vậy thông tin khớp với yêu cầu này phải đáp ứng vị trí: rạp Quốc gia; và yêu cầu thời gian là vào thời điểm cuối tuần thì mới thỏa mãn yêu cầu của khách hàng.
+ Tìm kiếm thông tin dựa vào vị trí và profile: là chức năng tìm kiếm thông tin
thoải mãn được hai tiêu chí. Đó là phù hợp với vị trí người dùng và chỉ nằm trong profile của họ. Sau khi tìm kiếm ra dữ liệu nội dung, dữ liệu sự kiện lập lịch hệ thống sẽ kiểm tra xem dữ liệu nào nằm trong loại dữ liệu mà người dùng quan tâm được lưu trữ trong profile cá nhân của họ, nếu thỏa mãn hệ thống sẽ đưa thông tin này ra tới người dùng. Nhờ có chức năng này, người dùng sẽ không bị làm phiền bởi các thông tin mà họ không muốn quan tâm đến
+ Tìm thông thông tin dựa trên lịch sử người dùng: dựa vào lịch sử người dùng,
hệ thống biết được thông tin các địa danh mà người dùng đã từng đi qua, từ đó hệ thống có thể đưa ra các nội dung tương tự liên quan tới các dữ kiện lịch sử đó. Đồng thời, dựa vào lịch sử mà hệ thống tránh được việc gửi thông tin trùng lặp tới các địa danh mà du khách đã từng tham quan.
4.2.2 Chức năng phía client
Client là chương trình chạy trên thiết bị di động của người dùng. Chương trình Client phải đám ứng các yêu cầu về kết nối với server, bao gồm gửi và nhận kết quả; Cho phép người dùng nhập các yêu cầu tìm kiếm dưới dạng câu truy vấn. Client còn có nhiệm vụ trình bày hình ảnh hóa các kết quả nhận được từ server trả về. Hình 4.3 dưới đây mô tả cây chức năng của client.
Hình 4.3 Cây chức năng phía client
Chi tiết các chức năng phía Client:
Kết nối: khi có sự thay đổi vị trí, profile người dùng, hoặc hành khách gửi truy
vấn lên server, lient phải thực hiện nhiệm vụ kết nối tới server và giữ kết nối đó cho tới khi nhận được kết quả trả về. Chức năng kết nối bao gồm hai nhánh chức năng con sau:
+ Gửi yêu cầu truy vấn: là tính năng gửi những yêu cầu tìm kiếm thông tin từ
client lên server. Lúc nào Client tập hợp các thông tin về vị trí, thời gian, và yêu cầu truy vấn để gửi cho server.
+ Nhận kết quả trả về: sau khi xử lý yêu cầu của client, server sẽ trả kết quả về,
lúc này client giữ vai trò người nhận, tiếp nhận và đóng kết nối lại sau khi nhận kết quả.
Trình bày thông tin: là chức năng thể hiện các thông tin trên bản đồ trong miền
di chuyển tham quan của du khách. Nhờ việc thể hiện lại các thông tin dữ liệu thành hình ảnh hóa trực quan, giúp người dùng dễ dàng tiếp nhận kết quả. Chức năng trình bày thông tin gồm hai chức năng nhỏ sau:
+ Hiển thị thông tin gợi ý: là chức năng hiển thị các thông tin gợi ý của hệ thống
trên bản đồ. Khi người dùng thay đổi vị trí, hệ thống sẽ tự động gửi các thông tin phù hợp với profile, lịch sử tới người dùng. Khi đó, client sẽ phải thực hiện việc hiển thị kết quả các gợi ý này.
+ Hiển thị kết quả truy vấn: sau khi server trả kết quả truy vấn tương ứng với
yêu cầu truy vấn của người dùng, cliet có nhiệm vụ hiển thị trực quan kết quả nhận được tới người dùng trên thiết bị di động.
Cập nhật thông tin cài đặt dịch vụ: là tính năng cho phép người dùng cập nhật
lại các thông số của dịch vụ, thông tin profile, lựa chọn cho phép lưu hay không lịch sử tham quan của mình. Chi tiết chức năng cập nhật được phân chia như sau:
+ Thay đổi thông tin proifle: là khả năng client có thể thay đổi các đối tượng
quan tâm, nội dung các chủ đề mà người dùng mong muốn nhận được các gợi ý. Ví dụ như người dùng không muốn quan tâm tới danh lam thắng cảnh nữa, mà đổi lại, du khách muốn được gợi ý về thông tin các nhà hàng khách sạn chẳng hạn.
+ Cập nhật loại hình dịch vụ sử dụng: là tính năng thay đổi loại hình dịch vụ mà
người dùng yêu cầu. Ví dụ đơn giản nhất là việc người dùng ngừng không muốn theo dõi thêm thông tin về ùn tắc giao thông nữa, vì giờ họ đã tới nơi họ cần đến rồi.
+ Cập nhật yêu cầu tìm kiếm: là khả năng thay đổi nội dung truy vấn, người
dùng có thể đưa ra câu truy vấn, yêu cầu hệ thống tìm kiếm ra địa điểm khác mà họ muốn quan tâm hơn, hoặc thay đổi bán kính tìm kiếm các địa danh.