CHƢƠNG II : CÔNG NGHỆ ĐIỆN TOÁN ĐÁM MÂY
3.2. Phân tích thiết kế hệ thống
3.2.2. Thiết kế hệ thống
Với bài toán đặt ra đƣợc phân tích ở trên, hệ thống thiết kế chia làm 2 modul chính là Modul trên Server và Modul trên Client, trong đó:
Modul Server:
- Cung cấp khả năng truy vấn thông tin vị trí các điểm đặt ATM trong hệ thống
- Lƣu trữ và quản lý thông tin địa lý các điểm đặt ATM
- Lƣu trữ và quản lý thông tin các thiết bị cầm tay đƣợc phép truy nhập vào hệ thống
- Cập nhật dữ liệu cho hệ thống
- Đƣợc đặt trên máy chủ của Google, đƣợc cài đặt và duy trì thông qua GAE
Modul Client:
- Cung cấp khả năng truy vấn thông tin tiện ích từ vị trí thực tế của thiết bị
- Đƣợc cài đặt dƣới dạng các ứng dụng Android. Mô hình của hệ thống đƣợc mô tả nhƣ trong hình 3.1
Cloud Server CSDL Google CSDL riêng Client Hình 3.1: Sơ đồ hệ thống 3.2.2.1. Công cụ sử dụng
Hệ thống đƣợc phát triển trên nền tảng các công nghệ sau:
Modul Server đƣợc xây dựng và phát triển trên nền tảng công nghệ Điện toán đám mây do Google cung cấp – Google App Engine, đƣợc viết bằng ngôn ngữ Java, HTML và Javascript.
Modul Client là ứng dụng đƣợc phát triển cho các thiết bị di động cầm tay thông minh trên nền tảng hệ điều hành Android.
3.2.2.2. Biểu đồ Ca sử dụng (Use Case) của hệ thống
3.2.2.3.1. Các tác nhân và các pha sử dụng
Hệ thống có 2 nhóm tác nhân chính là Nhà quản trị (Admin) và Ngƣời dùng cuối (Thiết bị). Trong đó:
- Quản trị dữ liệu ATM - Tìm kiếm thông tin - Hiển thị bản đồ - Quản lý trang tin
Ngƣời dùng cuối (Thiết bị): là nhóm tác nhân chỉ đƣợc sử dụng các chức năng của hệ thống thông qua các thiết bị di động có GPS và Internet. Nhóm Ngƣời dùng cuối có các pha sử dụng nhƣ sau:
- Đăng nhập
- Cập nhật dữ liệu ATM - Truy vấn điểm đặt ATM
Biểu đồ Use case tổng quát của toàn hệ thống đƣợc mô tả nhƣ hình 3.2
Hình 3.2: Biểu đồ các pha sử dụng của hệ thống
Dang Nhap
Thiet Bi Quan tri du lieu nguoi su dung
Hien thi ban do
Truy van diem dat ATM Quan tri du lieu ATM
Admin
3.2.2.3.2. Biểu đồ Ca sử dụng Đăng nhập
Hình 3.3: Biểu đồ ca sử dụng Đăng nhập
Đăng nhập vào hệ thống nhằm đảm bảo khả năng bảo vệ nguồn dữ liệu riêng của hệ thống, ngăn chặn các tác nhân không đƣợc phép sử dụng hệ thống.
3.2.2.3.3. Biểu đồ Ca sử dụng Tìm kiếm thông tin
Dang Nhap
Dang nhap tu Trinh duyet
Dang nhap tu Thiet bi
Tim kiem thong tin
Tim Nguoi dung
Tim ATM
Tim Admin
Tim Nguoi Dung <extend>
<extend>
<include>
3.2.2.3.4. Biểu đồ Ca sử dụng Quản trị dữ liệu ATM
Hình 3.5: Biểu đồ ca sử dụng Quản trị dữ liệu ATM
Chức năng Quản trị dữ liệu ATM cung cấp các thao tác Thêm mới, Chỉnh sửa dữ liệu và Xóa dữ liệu các điểm ATM, chức năng Quản trị dữ liệu ATM nhằm mục đích quản trị nguồn dữ liệu riêng của hệ thống về các điểm ATM
3.2.2.3.5. Biểu đồ Ca sử dụng Hiển thị bản đồ
Quan tri du lieu ATM
Tao moi ATM
Xoa du lieu ATM Sua du lieu ATM
Tim kiem thong tin <extend>
<extend>
Hien thi ban do
Phong to
Thu nho
Di chuyen
Hien thi ket qua <extend>
<extend>
<extend>
Hình 3.6: Biểu đồ ca sử dụng Hiển thị bản đồ
Tƣơng tác với ngƣời dùng và kết quả đều thông qua hiển thị trên bản đồ số, hệ thống có các chức năng cơ bản của một bản đồ số là Phóng to, Thu nhỏ, Di chuyển bản đồ…
3.2.2.3.6. Biểu đồ Ca sử dụng Truy vấn điểm đặt ATM
Hình 3.7: Biểu đồ ca sử dụng Truy vấn điểm đặt ATM
Truy vấn điểm đặt ATM là chức năng chính của hệ thống, cung cấp khả năng truy vấn thông tin trên vị trí từ vị trí hiện tại của ngƣời dùng hoặc một vị trí bất kỳ mà ngƣời dùng muốn tìm (thao tác với Web Browser).
Truy van diem dat ATM
Hien thi ban do Truy van qua Thiet Bi
Truy van qua Trinh duyet <extend>
<extend>
Truy van CSDL Google
Truy van CSDL Rieng <include> <include> <include> <include> <include> Xu ly Du lieu <include> <include>
3.2.2.3. Biểu đồ Tuần tự các chức năng chính của hệ thống
3.2.2.4.1. Biểu đồ Tuần tự chức năng Đăng nhập
Hình 3.8: Biểu đồ tuần tự chức năng Đăng nhập
7: Tai khoan hop le : Admin
: Admin Giao dien Dang nhap Giao dien Dang
nhap Xu ly Dang nhap Xu ly Dang nhap CSDL CSDL
1: Yeu cau Dang Nhap 2: Yeu cau nhap thong tin 3: Nhap Username va Password
5: Yeu cau kiem tra
6: Kiem tra tai khoan
8: Dang nhap thanh cong 9: Dang nhap vao he thong
3.2.2.4.2. Biểu đồ Tuần tự chức năng Truy vấn điểm đặt ATM
Hình 3.9: Biểu đồ tuần tự chức năng Truy vấn điểm ATM 3.2.2.4. Biểu đồ Luồng dữ liệu (DFD) của hệ thống 3.2.2.4. Biểu đồ Luồng dữ liệu (DFD) của hệ thống
3.2.2.4.1. Biểu đồ Luồng dữ liệu chức năng Đăng nhập
Chức năng Đăng nhập
Admin CSDL Riêng
Yêu cầu Đăng nhập
Username và Password
Lấy thông tin Người dùng
Trả thông tin người dùng Đăng nhập
: Thiet Bi : Thiet Bi
Giao dien truy van Giao dien truy
van
Xu ly Truy van
Xu ly Truy van CSDL GoogleCSDL Google CSDL riengCSDL rieng
1: Yeu cau tim ATM 2: Yeu cau truyen cac thong tin dau vao
3: Chon thong tin truy van
5: Gui thong so truy van
6: Yeu cau truy van 7: Phan hoi ket qua
8: Yeu cau truy van 9: Phan hoi ket qua 10: Xu ly ket qua nhan duoc
11: Tra ket qua ATM tim duoc 12: Nhan ket qua
3.2.2.4.2. Biểu đồ Luồng dữ liệu chức năng Truy vấn điểm đặt ATM User CSDL Google CSDL riêng Truy Vấn vị trí ATM
Yêu cầu Tìm kiếm
Gửi yêu cầu tìm kiếm
Trả kết quả tìm kiếm
Gửi yêu cầu tìm kiếm
Trả kết quả tìm kiếm Trả kết quả đã được xử lý
Hình 3.11: Biểu đồ luồng dữ liệu chức năng Truy vấn điểm đặt ATM
Hệ thống truy vấn dữ liệu dựa trên 2 nguồn dữ liệu: Dữ liệu của Google và dữ liệu riêng của ứng dụng.
Với nguồn CSDL của Google, việc truy vấn và nhận dữ liệu thông qua các web service đƣợc Google cung cấp miễn phí.
Với nguồn CSDL ngƣời dùng, việc truy vấn dữ liệu phải qua các bƣớc xử lý trung gian để thực hiện truy vấn
Quá trình truy vấn dữ liệu từ nguồn CSDL của ngƣời dùng phải trải qua các bƣớc thực hiện sau:
Chuyển đổi các đơn vị đo của tọa độ địa lý
Tính khoảng cách giữa các điểm trên bản đồ (theo công thức Haverisine)
Công thức Haversine
a = sin²(Δφ/2) + cos(φ1).cos(φ2).sin²(Δλ/2) c = 2.atan2(√a, √(1−a))
d = R.c
Trong đó φ: vĩ độ.
λ:kinh độ.
R: bán kính Trái Đất (Radius = 6,371km)
Chú ý Các góc trong công thức được sử dụng với đơn vị radian
3.2.2.5. Thiết kế cơ sở dữ liệu tblUser PK uId uName uLoginNam uPass FK1 gId uDes tblGroup PK gId gName gDes tblDevices PK dId FK1 uId tblATM PK ID Lat Lon NganHang DiaChi Des
Hình 3.12: Quan hệ giữa các bảng trong CSDL
Hệ thống sử dụng cơ sở dữ liệu của Google, về mặt vật lý, các dữ liệu của Google đƣợc dùng trong công nghệ GAE là phân tán, đƣợc phân chia lƣu trữ tại các máy chủ nằm ở nhiều nơi trên thế giới, và các dữ liệu này không có mối quan hệ với nhau. Tuy nhiên, về mặt logic, các Entity dữ liệu có quan hệ đƣợc mô tả nhƣ trong hình 3.12. Hệ thống sử dụng 4 nhóm đối tƣợng chính là: Thiết bị (Devices) Ngƣời dùng (Users) Nhóm ngƣời dùng (Groups) ATM