2.2 Thiết kế hệ thống
2.2.1 Thiết kế kiến trúc WebGIS
Thiết kế kiến trúc WebGIS là việc mô tả một cách tổng quan về WebGIS qua các khung nhìn khác nhau, đồng thời chỉ ra các thành phần và mối quan hệ giữa chúng, bao gồm: Kiến trúc ứng dụng thể hiện qua mơ hình phân lớp và mơ hình phân rã chức năng, đảm bảo đầy đủ các yêu cầu nghiệp vụ của hệ thống đƣợc đƣa ra; Kiến trúc dữ liệu thể hiện qua các thành phần dữ liệu chính phục vụ q trình hoạt động của phần mềm và Kiến trúc cơ sở hạ tầng công nghệ thông tin.
Thông qua kiến trúc WebGIS, ngƣời thiết kế và ngƣời phát triển hệ thống có thể xác định đƣợc phần mềm có những chức năng chính nào, thành phần dữ liệu ra sao và có những yêu cầu gì về mặt hạ tầng cơng nghệ. Ngồi ra, ngƣời phát triển có thể biết rõ phần mềm sẽ đƣợc phát triển theo mơ hình lớp, mỗi lớp bao gồm các gói (package) nào và mối quan hệ tƣơng ứng giữa các package khác nhau.
Các yếu tố ảnh hưởng đến kiến trúc hệ thống
chính là nhóm dữ liệu ít thay đổi (1) - nhóm dữ liệu nền (hành chính, ..); nhóm dữ liệu thay đổi nhiều (2) - nhóm dữ liệu về sử dụng đất (hiện trạng, quy hoạch,..).
Số lƣợng giao dịch.
Yêu cầu xử lý trực tuyến: WebGIS hoạt động trên nền tảng Web-based, nên cần xử lý trực tuyến (online).
Môi trƣờng hoạt động của WebGIS: hệ quản trị CSDL PostgreSQL, hệ điều hành Window Server 2012+, WebServer: IIS 6.0+.
Yêu cầu về bảo mật, gồm 2 lớp bảo mật chính: Lớp bảo mật mạng (theo chế độ bảo mật của hạ tầng hệ thống mạng đang triển khai) và lớp bảo mật ứng dụng (hoạt động tuân thủ theo các tiêu chuẩn và giao thức bảo mật trên nền tảng Web-based).
Yêu cầu sao lƣu dữ liệu. Kiến trúc ứng dụng
WebGIS hoạt động chia thành 3 tầng (three tier) chính:
Hình 2.1: Sơ đồ kiến trúc tổng thể theo mơ hình phân lớp
+ Tầng CSDL: chứa toàn bộ hệ thống dữ liệu (dữ liệu đất đai, kinh tế xã hội,...), đƣợc xây dựng trên hệ quản trị CSDL Postgres 9.6+.
+ Tầng dịch vụ: Đƣợc xây dựng dựa trên các nền tảng dịch vụ Web tiêu chuẩn (Restfull, Micro Service) và các dịch vụ bản đồ tiêu chuẩn (WMS, WFS). Tầng này thực hiện việc kết nối tới CSDL dựa trên các công nghệ LINQ, Entity Framwork và ADO.NET của tảng .NET , tạo dịch vụ và cung cấp dịch vụ cho tầng ứng dụng.
+ Tầng ứng dụng: có chức năng quản lý số liệu, bản đồ và tƣơng tác ngƣời dùng hệ thống. Tầng ứng dụng kết nối, đọc và xử lý thông tin từ tầng dịch vụ, sau đó hiển thị và xử lý tƣơng tác từ phía ngƣời dùng.
Kiến trúc cơ sở hạ tầng CNTT
WebGIS đƣợc xây dựng dựa trên nền tảng Web-Based, hoạt động dựa trên mơ hình Client-Server. Ngƣời dùng chung, chuyên viên hay quản trị hệ thống có thể dễ dàng truy cập vào ứng dụng bằng cách sử dụng các thiết bị phổ biến (laptop, mobile, …) có hỗ trợ trình duyệt. Hệ thống có thể sử dụng online (trực tuyến trên internet), hoặc trong phạm vi mạng giới hạn của đơn vị (kết nối WAN) tùy theo thiết lập của quản trị hệ thống.
Hình 2.2: Sơ đồ kiến trúc cơ sở hạ tầng CNTT
2.2.2 Xây dựng biểu đồ trường hợp sử dụng (Use case diagram)
Biểu đồ trƣờng hợp sử dụng (THSD - Use Case) là nhằm định nghĩa các ranh giới và trách nhiệm của các trƣờng hợp sử dụng trong “Hệ thống WebGIS hỗ trợ tương tác về quy hoạch sử dụng đất”.
Một mơ hình Use Case có thể đƣợc chia thành một số lƣợng lớn các biểu đồ Use Case. Một biểu đồ Use Case sẽ chứa các phần tử biểu thị hệ thống, tác nhân và chỉ ra các mối quan hệ giữa chúng; các Use case thƣờng đƣợc thể hiện bằng ngơn ngữ mơ hình hóa thống nhất UML (Unifield Modeling Language) với một hệ thống ký hiệu thống nhất, biểu diễn các phần tử của mơ hình (model element) [12].
Hình 2.3: Biểu đồ tác nhân hệ thống
Các trƣờng hợp sử dụng (use case)
thành viên quản trị khác và có quyền sử dụng tất cả các chức năng của hệ thống. - Chuyên viên chuyên trách: Là một thành viên quản trị, là ngƣời có quyền
biên tập nội dung, dữ liệu, cấu hình,…theo những chức năng đƣợc ngƣời quản trị hệ thống phân quyền cho. Thành viên quản trị khơng có quyền tạo ra các thành viên quản trị khác và cũng khơng có quyền phân quyền sử dụng các chức năng cho các thành viên khác hoặc cho bản thân mình. Vai trị chính của chuyên viên chuyên trách trong
“Hệ thống WebGIS hỗ trợ tương tác về quy hoạch sử dụng đất” là thu thập, phản hồi
và tổng hợp các ý kiến đóng góp của các cơ quan, tổ chức và cộng đồng dân cƣ về quy hoạch sử dụng đất.
- Người dùng chung (khách): Là những ngƣời sử dụng chƣa đăng ký, hầu
hết họ là những ngƣời dân hay doanh nghiệp truy cập vào hệ thống một cách tình cờ hoặc khơng có nhu cầu truy cập thƣờng xuyên. Những ngƣời này có thể sử dụng và tra cứu dữ liệu thông thƣờng nhƣ là tra cứu các thông tin bản đồ, xem các mẫu phiếu mà không thể truy vấn thơng tin thuộc tính hoặc tạo ý kiến đóng góp đối với các đối tƣợng QH, KHSDĐ.
- Máy chủ cung cấp các dịch vụ Web dữ liệu không gian: Là các máy chủ
cung cấp dữ liệu không gian, GIS theo chuẩn OGC nhƣ bản đồ trực tuyến. Vai trò của tác nhân này là cung cấp thông tin bản đồ nền cho hệ thống.
2.2.3 Thiết kế biểu đồ hoạt động (activity diagram)
Activity Diagram là bản vẽ tập trung vào mô tả các hoạt động, luồng xử lý bên trong hệ thống WebGIS. Nó đƣợc sử dụng để mơ tả các quy trình nghiệp vụ trong hệ thống, các luồng của một chức năng hoặc các hoạt động của một đối tƣợng.
Biểu đồ hoạt động của “Hệ thống WebGIS hỗ trợ tương tác về quy hoạch sử dụng đất” đƣợc chia làm ba nhánh chính theo 3 đối tƣợng sử dụng chính là nhóm
ngƣời dùng chung, chuyên viên chuyên trách và quản trị hệ thống.
Đối với nhóm ngƣời dùng chung thì hoạt động trên hệ thống rất đơn giản, họ chỉ xem đƣợc các thông tin liên quan tới hiện trạng sử dụng đất, quy hoạch sử dụng đất, kế hoạch sử dụng đất bằng cách sử dụng các công cụ tƣơng tác với bản đồ; các bảng số liệu đƣợc hiển thị trên giao diện của trang web. Nhóm ngƣời dùng này có
thể gọi là ngƣời dùng vô danh, họ không đăng ký tham gia làm thành viên. Họ có thể là ngƣời dân hay doanh nghiệp tình cờ truy cập vào trang web với sự tị mị để tra cứu các thơng tin thơng thƣờng và hệ thống cũng không quản lý các thông tin liên quan tới nhóm ngƣời dùng này. Nếu họ muốn thực hiện đƣợc nhiều chức năng hơn thì phải đăng ký làm thành viên. Hệ thống sẽ cung cấp cho ngƣời dùng một giao diện để đăng ký các thông tin cá nhân cần thiết. Sau khi ngƣời dùng nhập thơng tin xong, hệ thống sẽ kiểm tra tính đầy đủ và chấp nhận ngƣời dùng làm thành viên, các thông tin cá nhân sẽ đƣợc quản lý trong hệ thống, lúc này ngƣời dùng có thể sử dụng chức năng tra cứu nâng cao thơng qua một tài khoản của riêng mình.
Với các thành viên đã đăng ký, sau khi đăng nhập hệ thống sẽ kiểm tra tài khoản có đƣợc chấp nhận hay không rồi gửi thông báo đến ngƣời sử dụng để họ có thể đƣợc tiếp tục tƣơng tác trên hệ thống. Nếu đƣợc xác nhận, ngƣời dùng mới có quyền đƣợc tham gia đóng góp ý kiến hoặc phản hồi các thơng tin đất đai của mình tới cơ quan chức năng về các đối tƣợng QHSDĐ thông qua việc thao tác trên trang web. Các ý kiến đóng góp, hay phản hồi ở đây sẽ là những ý kiến chính thức của ngƣời dân, doanh nghiệp hay của các đơn vị tổ chức sử dụng đất đến cơ quan lập và quản lý QHSDĐ. Họ có thể là một nhân viên nhà nƣớc, một ngƣời dân có quyền sử dụng đất, một tổ chức có nhu cầu sử dụng đất, là đơn vị thực hiện quy hoạch trong khu vực quy hoạch, hoặc bị ảnh hƣởng bởi quy hoạch sử dụng đất. Hoạt động của nhóm ngƣời này, đƣợc mơ tả nhƣ hình dƣới đây:
Hình 2.6: Biểu đồ hoạt động đăng nhập vào hệ thống của người sử dụng
Nhóm đối tƣợng thứ hai hoạt động nhiều trên hệ thống là nhóm chuyên viên chuyên trách. Nhóm này sẽ có hai nhiệm vụ chính là cập nhật dữ liệu liên quan tới
QH, KHSDĐ và xử lý các ý kiến tham vấn đã đƣợc thu thập qua hệ thống. Mỗi phản hồi của ngƣời dùng sẽ đƣợc kiểm duyệt bởi chuyên viên chuyên trách, họ sẽ kiểm tra thơng tin, đánh giá độ chính xác, sự phù hợp và liên lạc với tác giả của phản hồi nếu cần thiết. Ý kiến tham vấn sẽ đƣợc chấp nhận và giữ lại nếu hữu ích, trái lại nó sẽ bị loại bỏ để giữ cho thông tin khơng bị nhiễu, gây cản trở trong q trình quy hoạch, thực hiện quy hoạch và theo dõi tiến độ. Hoạt động của nhóm chuyên viên chuyên trách đƣợc mơ tả nhƣ hình dƣới đây:
Hình 2.7: Biểu đồ hoạt động trên hệ thống của chuyên viên
CSDL (ngƣời dùng và dữ liệu chuyên đề); đảm bảo cho hệ thống hoạt động một cách thống nhất và hiệu quả. Quản trị hệ thống có quyền sửa, xóa thơng tin về ngƣời dùng cũng nhƣ phân quyền chức năng hay hạn chế vai trò cho từng tài khoản. Hoạt động của quản trị hệ thống đƣợc mơ tả nhƣ hình dƣới đây:
Hình 2.8: Biểu đồ hoạt động của quản trị hệ thống
Ngƣời quản trị đăng nhập hệ thống, sau khi đƣợc hệ thống xác nhận ngƣời quản trị sẽ đƣợc thực hiện quyền kiểm tra thơng tin ngƣời dùng và bảo trì dữ liệu rồi lƣu lại trên hệ thống. Hệ thống sẽ cập nhật thông tin mà ngƣời quản trị đƣa lên và thông báo tới ngƣời quản trị rằng thông tin đã đƣợc cập nhật hoặc từ chối và yêu cầu
nhập lại thông tin nếu thông tin khơng đạt u cầu. Sau đó ngƣời quản trị có thể kiểm tra kết quả cập nhật của mình trên hệ thống.
2.2.4 Thiết kế biểu đồ tuần tự (sequence diagram)
Biểu đồ tuần tự là bản vẽ mô tả sự tƣơng tác của các nhóm đối tƣợng để tạo nên các chức năng của hệ thống thông qua việc dùng để xác định các trình tự diễn ra sự kiện của một nhóm đối tƣợng đó. Khơng chỉ thế, biểu đồ tuần tự cịn đƣợc dùng để kiểm chứng và bổ sung các phƣơng thức cho các Class.
Với “Hệ thống WebGIS hỗ trợ tương tác về quy hoạch sử dụng đất” biểu đồ tuần tự miêu tả chi tiết các thông điệp đƣợc gửi và nhận giữa các đối tƣợng đồng thời cũng chú trọng đến việc trình tự về mặt thời gian gửi và nhận các thơng điệp đó.
Hình 2.9: Biểu đồ tuần tự của trang web
Ngƣời dùng sử dụng các trình duyệt, truy cập vào trang web gửi yêu cầu đăng nhập đến hệ thống. Hệ thống sẽ yêu cầu ngƣời dùng nhập tài khoản và mật khẩu của
thống. Hệ thống bất đầu kiểm tra thông tin đó trong tồn bộ cơ sở dữ liệu ngƣời dùng đã có. Nếu đúng, hệ thống sẽ phản hồi lại với ngƣời dùng và cho phép ngƣời dùng có thể thực hiện các chức năng khác của hệ thống nhƣ xem thông tin trên bản đồ, đóng góp ý kiến qua của mình qua mẫu phiếu online. Ở bƣớc tiếp theo, khi ngƣời dùng gửi ý kiến đóng góp, hệ thống sẽ lƣu các ý kiến đóng góp vào trong cơ sở dữ liệu và phản hồi tới ngƣời dùng bằng cách là thông báo đã gửi thành công hay chƣa. Các lớp dữ liệu tham gia vào nghiệp vụ này là tồn bộ các lớp dữ liệu khơng gian bao gồm dữ liệu nền, dữ liệu chuyên đề đất đai và các bảng hỏi chính là các mẫu phiếu online đã đƣợc thiết lập trong hệ thống.
2.2.5 Thiết kế biểu đồ lớp (class)
Biểu đồ lớp là một trong những mơ hình quan trọng nhất của thiết kế phần mềm, website. Nó mơ tả cấu trúc và quan hệ giữa các thành phần tạo nên phần mềm, hay nói cách khác biểu đồ lớp là trạng thái tĩnh của các lớp dữ liệu trong phần mềm, mối quan hệ của các lớp giao diện, thực thể, điều khiển theo kiến trúc 2 tầng hoặc 3 tầng dựa trên mơ hình thiết kế hƣớng đối tƣợng nhằm giúp ngƣời sử dụng có cái nhìn tổng quan về hệ thống.
Một biểu đồ lớp gồm có các thành phần sau: Lớp (Class) - mơ tả về một nhóm đối tƣợng có cùng tính chất, phƣơng thức hoạt động của các đối tƣợng có trong lớp có thể thực hiện trong hệ thống. Quan hệ (Relationship) - thể hiện các mối quan hệ giữa các Class với nhau. Dựa trên những sơ đồ luồng trạng thái và biểu đồ lớp, ngƣời phát triển có thể từng bƣớc xây dựng phần mềm. Do vậy, biểu đồ lớp cần phải đƣợc mô tả chi tiết từng lớp.
Biểu đồ lớp của “Hệ thống WebGIS hỗ trợ tương tác về quy hoạch sử dụng đất” đƣợc mơ tả nhƣ hình dƣới, bao gồm 8 Classes đƣợc chia thành 2 nhóm chính
với các thơng tin thuộc tính đƣợc mơ tả sơ bộ và các phƣơng thức có thể đƣợc thực hiện:
- Nhóm điều khiển hệ thống, gồm: Resources, Permission, Role, User.
- Nhóm dữ liệu, gồm: hành chính (phuongxa); khơng gian (thuadat), thuộc tính (quyhoachsdd, ykienthamvan).
- Các phƣơng thức hoạt động chủ yếu của các đối tƣợng trong từng lớp bao gồm: Thêm mới (Add); Cập nhật (Update), Xóa (Delete).
- Các mối quan hệ giữa các lớp có thể là một trong các quan hệ sau: một - một (1 -1), một nhiều (1 - n). Mối quan hệ giữa các lớp trong “Hệ thống WebGIS
hỗ trợ tương tác về quy hoạch sử dụng đất” đƣợc mô tả cụ thể trong hình 2.10
dƣới đây.
Bảng 2.1: Bảng mơ tả các lớp dữ liệu trong hệ thống WebGIS
STT Tên lớp Thông tin mô tả
1 Resources Quản lý các tài nguyên (chức năng) mà hệ thống đã xây dựng
2 Permission Định nghĩa các quyền sử dụng các chức năng của phần mềm
3 Role Định nghĩa các vai trò trong hệ thống. Mỗi vai trị có thể gồm nhiều quyền.
4 Users Danh mục ngƣời dùng hệ thống 5 HanhChinh Quản lý danh mục các phƣờng, xã
6 ThuaDat Quản lý các đối tƣợng không gian là thửa đất
7 QuyHoachSDD Quản lý thơng tin thuộc tính về QHSDĐ của các thửa đất
8 YkienThamVan
Quản lý các ý kiến tham vấn của ngƣời dùng khi đóng góp ý kiến về quy hoạch, kế hoạch sử dụng đất của địa phƣơng
Cơ sở dữ liệu của “Hệ thống WebGIS hỗ trợ tương tác về quy hoạch sử dụng
đất” đƣợc thiết kế, lƣu trữ trên hệ quản trị CSDL PostgreSQL, bao gồm các lớp dữ
liệu về hiện trạng sử dụng đất, quy hoạch sử dụng đất, kế hoạch sử dụng đất, danh mục các cơng trình - dự án thực hiện theo kế hoạch sử dụng đất, các văn bản - báo cáo có liên quan tới quy hoạch - kế hoạch sử dụng đất và ý kiến tham vấn của ngƣời dùng đóng góp cũng nhƣ phản hồi của ngƣời có vai trị quản lý thơng tin.
Bảng hiện trạng sử dụng đất cho thấy việc sử dụng đất nhƣ thế nào, trong khi bảng QHSDĐ cho thấy việc chuyển đổi mục đích sử dụng đất trong tƣơng lai (theo năm đƣợc thực hiện quy hoạch sử dụng đất); bảng danh mục cơng trình dự án cho ngƣời dùng biết đƣợc những dự án sẽ đƣợc thực hiện theo kế hoạch sử dụng đất của từng năm có nhiều thơng tin chi tiết (tên cơng trình - dự án, nguồn vốn, chủ đầu tƣ, diện tích, địa bàn triển khai, căn cứ pháp lý, tiến độ thực hiện).
Bảng 2.2: Cấu trúc lớp thông tin về hiện trạng sử dụng đất
STT Tên thuộc tính Kiểu dữ liệu Mơ tả
1 idthua Integer Khóa chính