Ngày nay cuộc cách mạng khoa học công nghệ và những thành tựu của nó đã làm biến đổi sâu sắc mọi mặt của đời sống xã hội. Internet đã trở nên thông dụng và không thể thiếu trong hoạt động hằng ngày, nó tác động mọi mặt tới cuộc sống, rất nhiều lĩnh vực sử dụng Internet như giáo dục, y tế, thương mại, ngoại giao… Nó đã trở thành phương tiện giúp việc truyền đạt, trao đổi thông tin, hợp tác, giao lưu… giữa mọi cá nhân, tổ chức và quốc gia trên khắp hành tinh diễn ra nhanh chóng và cực kỳ tiện ích, góp phần vào sự phát triển của quyền tự do ngôn luận trên toàn thế giới. Theo đó, gắn liền với sự phát triển của Internet là sự xuất hiện hệ thống của hàng triệu website.Website một sản phẩm công nghệ tuyệt vời của Internet. Nó đã trở thành một phần không thể thiếu trong mọi lĩnh vực của cuộc sống hàng ngày, đưa mọi người tiếp cận thông tin một cách nhanh nhất. Website là một nguồn thông tin phong phú, ví dụ như một trang chia sẻ tin tức giúp mọi người tiếp cận thông tin một cách dễ dàng, một trang thương mại điện tử giúp mọi người có thể trao đổi mua bán mà không cần ra khỏi nhà hay một trang quảng bá công ty giúp doanh nghiệp có thể dễ dàng tiếp cận khách hàng với chi phí tối ưu nhất… Đến đây ta có thể thấy tầm quan trọng của website nó gắn liền với sự phát triển của mỗi quốc gia.Đặc biệt trong lĩnh vực quản lý khiếu nại đất đai hiện nay đang còn gặp phải nhiều vấn đề cần phải giải quyết như: Thiếu một nền tảng để quản lý và theo dõi khiếu nại về đất đai.Quá trình gửi khiếu nại về đất đai hiện tại có thể phức tạp và không đảm bảo tính chính xác.Thiếu thông tin chi tiết về quy trình xử lý khiếu nại và các quy định liên quan.Không có một nơi chứa tài liệu và dữ liệu liên quan đến đất đai.Dựa trên nhu cầu thực tế và kiến thức đã được học tại trường cũng như kinh nghiệm thực tập, em đã chọn đề tài Phát triển website hỗ trợ quản lý khiếu nại đất đai.
CƠ SỞ LÝ THUYẾT
Hệ quản trị cơ sở dữ liệu MongoDB
NoSql chính là một dạng cơ sở dữ liệu mã nguồn mở Đây là những chữ cái viết tắt của cụm từ None-Relational SQL hay còn gọi là Not-Only SQL.
Nó được ra đời như một điều bù đắp cho những khuyết điểm của mô hình dữ liệu RDBMS Relational Database Management System – Hệ quản trị cơ sở dữ liệu quan hệ có những điểm thiếu sót về tốc độ, tính năng, khả năng mở rộng,… NoSql chính là mảnh vá cho những khuyết điểm này. Đến với NoSql, các bạn có thể mở rộng dữ liệu mà không cần lo lắng tới những điều kiện khác Nếu như thông thường, để mở rộng dữ liệu, các bạn cần phải tạo khóa ngoại, khóa chính, kiểm tra,… Nhưng khi sử dụng NoSql thì các bạn không cần thực hiện điều này NoSql có khả năng bỏ qua tính toàn vẹn của dữ liệu và transaction Nó có thể giúp bạn khả năng mở rộng dữ liệu với hiệu suất nhanh hơn.
NoSql hiện nay đã được sử dụng ở rất nhiều công ty, tập đoàn lớn. Ngay cả Facebook cũng sử dụng điều này Google cũng cần đến một dạng của NoSql để phát triển BigTable.
Theo những định nghĩa cho biết, MongoDB chính là một dạng cả NoSql Hay nói một cách đơn giản MongoDB chính là một database hướng tài liệu Nó chính là một hệ quản trị cơ sở dữ liệu mã nguồn mở MongoDb cho phép bạn mở rộng tài liệu được lưu trữ trong Document kiểu JSON Thay vì trước đó các bạn phải dùng dạng bảng như cơ sở dữ liệu quan hệ Nếu không sử dụng MongoDB khi truy vấn dữ liệu sẽ rất lâu và phải thực hiện nhiều bước.
Với cơ sở dữ liệu chúng ta phải biết đến những khái niệm các bảng, các cơ sở dữ liệu quan hệ Thậm chí, chúng ta còn phải dùng đến các bảng để lưu dữ liệu Thì khi đến với Mongodb các bạn sẽ chỉ dùng khái niệm Collection thay vì bảng như trước Nếu như RDBMS có collection ứng với table, document ứng với row Thì khi sử dụng Mongo các bạn sẽ dùng các document thay cho row trong RDBMS.
Các collection trong MongoDB được cấu trúc linh hoạt Các bạn có thể sử dụng nó để cho phép các dữ liệu lưu trữ Mà các bạn không cần phải tuân theo một cấu trúc nhất định như ban đầu Những thông tin liên quan đến nhau sẽ cùng được lưu trữ để truy vấn nhanh hơn Nhờ có ngôn ngữ truy vấn MongoDB các bạn có thể thực hiện những điều này Đây chính là lý do vì sao, nhiều người muốn tìm hiểu về cách sử dụng MongoDB.
2.1.2 Tại sao lại sử dụng MongoDB.
MongoDB có nhiều ưu điểm hơn so với những loại khác Ưu điểm đầu tiên của MongoDB chính là sử dụng lưu trữ dữ liệu dưới dạng Document JSON Nhờ có nó nên mỗi một collection đều sẽ có các kích cỡ và các Document khác nhau Sự linh hoạt trong việc lưu trữ dữ liệu của MongoDB là rất hữu dụng Chính vì vậy, các bạn hoàn toàn có thể sử dụng MongoDB để Insert dữ liệu bất cứ lúc nào. Ưu điểm thứ hai của MongoDB đó chính là nó không có sự ràng buộc lẫn nhau trong dữ liệu Các bạn sẽ không cần phải join như trong RDBMS. Nên khi sử dụng insert hay xóa, update sẽ không cần tốn nhiều thời gian Các bạn cũng không cần phải chờ xem nó có thỏa mãn các ràng buộc dữ liệu hay không để tiến hành insert
Sử dụng MongoDB các bạn có thể mở rộng dễ dàng hơn Trong nền tảng này có một khái niệm cluster là cụm các node chứa dữ liệu giao tiếp với nhau Khi bạn muốn mở rộng một hệ thống, các bạn chỉ cần thêm một node vào cluster Đây chính là sự nhanh nhạy khi dùng MongoDB.
Trường dữ liệu “_id” luôn tự động đánh chỉ mục index ở MongoDB để tốc độ truy vấn thông tin nhanh nhất Khi có một truy vấn dữ liệu, bản ghi của cached sẽ cho lên bộ nhớ Ram Từ đó phục vụ lần lượt các truy vấn của người dùng, diễn ra nhanh hơn mà không cần đọc từ ổ cứng.
Ngoài ra, sử dụng MongoDB còn hỗ trợ hiệu năng cao cho người dùng.
Ví dụ như tốc độ truy vấn find, update, insert hay delete Tất cả đều được tối ưu nhanh hơn so với các hệ thống quản trị dữ liệu quan hệ khác Từ những thử nghiệm cho thấy, tốc độ của MongoDb có thể nhanh gấp 100 lần so vớiMySQL.
PHP Laravel
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC Hiện nay, Laravel đang là một trong những PHP framework phổ biến nhất và tốt nhất.
Laravel hiện được phát hành theo giấy phép MIT, với source code được lưu trữ tại Gitthub.
Những lý do khiến Laravel trở nên rộng rãi:
- Cú pháp dễ hiểu – rõ ràng
- Hệ thống đóng gói modular và quản lý gói phụ thuộc
- Có nhiều cách khác nhau để truy cập vào các CSDL quan hệ
- Nhiều tiện ích khác nhau hỗ trợ việc triển khai và bảo trì ứng dụng
Phiên bản đầu tiên của Laravel được Taylor Otwell tạo ra vào tháng 6 năm 2011 như một giải pháp thay thế cho CodeIgniter Với frameword này, lập trình viên dược hỗ trợ nhiều tính năng mới mẻ, hiệu quả và dễ thực hiện hơn.
2.2.2 Các tính năng nổi bật trong PHP Laravel
Những tính năng tuyệt vời có thể kể đến của Laravel là:
- Composer: sử dụng để nâng cấp, cài đặt
- Eloquent ORM: thao tác với cú pháp đẹp mắt và đơn giản
- Restful API: hỗ trợ biến Laravel thành một web service API
- Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng
- View: giúp code sạch sẽ hơn rất nhiều
- Migrations: hỗ trợ tạo các trường trong CSDL, thêm các cột trong bảng, tạo mối quan hệ giữa các bảng, hỗ trợ quản lý CSDL.
- Unit Testing: hõ trợ test lỗi để sửa chữa.
- Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu…
2.2.3 Ưu điểm, nhược điểm của PHP Laravel a Ưu điểm
- Sử dụng các tính năng mới nhất của PHP: Sử dụng Laravel giúp các lập trình viên tiếp cận những tính năng mới nhất của PHP cung cấp, nhất là đối với Namespaces, Interface, Overloading, Anonymous functions và Shorter array syntax
- Nguồn tài nguyên vô cùng lớn và sẵn có: Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên với đa dạng tài liệu khác nhau để tham khảo Các phiên bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng của mình
- Tích hợp với dịch vụ mail: Laravel là framework được trang bị API sạch trên thư viện SwiftMailer, do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local
- Tốc độ xử lý nhanh: Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự án lớn trong thời gian ngắn Vì vậy, nó được các công ty công nghệ và lập trình viên sử dụng rộng rãi để phát triển các sản phẩm của họ
- Dễ sử dụng: Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất dễ sử dụng Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ với vốn kiến thức cơ bản nhất về lập trình với PHP
- Tính bảo mật cao: Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ để người dùng hoàn toàn tập trung vào việc phát triển sản phẩm của mình:
+ Sử dụng PDO để chống lại tấn công SQL Injection
+ Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF b Nhược điểm
- So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm. Vấn đề lớn nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ
- Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang trở nên chậm chạp.
KHẢO SÁT VÀ ĐẶC TẢ YÊU CẦU HỆ THỐNG
Phát biểu bài toán
3.1.1 Khiếu nại đất đai là gì
- Điều 30 Hiến pháp 2013 quy định: “Mọi người có quyền khiếu nại, tố cáo với cơ quan, tổ chức, cá nhân có thẩm quyền về những việc làm trái pháp luật của cơ quan, tổ chức, cá nhân Cơ quan, tổ chức, cá nhân có thẩm quyền phải tiếp nhận, giải quyết khiếu nại, tố cáo Người bị thiệt hại có quyền được bồi thường về vật chất, tinh thần và phục hồi danh dự theo quy định của pháp luật.”
- Khoản 1 Điều 204 Luật Đất đai năm 2013 quy định: “Người sử dụng đất, người có quyền lợi và nghĩa vụ liên quan đến sử dụng đất có quyền khiếu nại, khởi kiện Quyết định hành chính hoặc Hành vi hành chính về quản lý đất đai.”
3.1.2 Thời hiệu và thời hạn giải quyết khiếu nại đất đai
Thời hiệu khiếu nại đất đai
Căn cứ Điều 9 Luật Khiếu nại 2011 thì thời hiệu khiếu nại là 90 ngày, kể từ ngày nhận được quyết định hành chính hoặc biết được quyết định/hành vi hành chính Ngoại lệ, vẫn có 1 số trường hợp được thực hiện khiếu nại dù đã quá 90 ngày nếu người khiếu nại rơi vào các hoàn cảnh đặc biệt như ốm đau, thiên tai, chiến tranh, đi học tập và công tác ở nơi xa…
Thời hạn giải quyết khiếu nại đất đai
- Trường hợp khiếu nại lần đầu: Không quá 30 ngày Tăng thêm 15 ngày đối với khu vực khó khăn, vùng sâu vùng xa hoặc với những vụ việc khiếu nại phức tạp, đòi hỏi nhiều thời gian xem xét và giải quyết.
- Trường hợp khiếu nại lần 2: Không quá 45 ngày Tăng thêm 15 ngày đối với khu vực khó khăn, vùng sâu vùng xa hoặc với những vụ việc khiếu nại phức tạp, đòi hỏi nhiều thời gian xem xét và giải quyết.
3.1.3 Quy trình giải quyết khiếu nại
Người khiếu nại nộp đơn khiếu nại tới cơ quan có thẩm quyền để được tiếp nhận và thụ lý (nếu hợp lệ) Cơ quan có thẩm quyền phải thông báo về việc thụ lý giải quyết khiếu nại cho người khiếu nại biết trong thời hạn 10 ngày kể từ ngày tiếp nhận đơn Nếu không thụ lý phải giải thích rõ lý do cho người khiếu nại biết.
Sau khi thụ lý, cơ quan có thẩm quyền sẽ tiến hành xác minh nội dung đơn khiếu nại Nếu nội dung khiếu nại đúng (khớp với thực tế xác minh) sẽ tiến hành giải quyết ngay Ngược lại nếu sai, phải tổ chức đối thoại với người khiếu nại để làm rõ.
Trường hợp tổ chức đối thoại làm rõ, phải lập thành biên bản Căn cứ vào kết quả xác minh, kết quả đối thoại, cơ quan có thẩm quyèn sẽ đưa ra quyết định giải quyết khiếu nại.
Không quá 3 ngày làm việc kể từ ngày có quyết định giải quyết khiếu nại, người giải quyết khiếu nại lần đầu có trách nhiệm gửi quyết định giải quyết khiếu nại cho người khiếu nại và các cơ quan khác Sau khi nhận được quyết định này mà người khiếu nại vẫn không đồng ý thì có thể khởi kiện vụ án hành chính tại Tòa án nhân dân có thẩm quyền.
3.1.4 Ứng dụng Công nghệ thông tin vào hỗ trợ công tác giải quyết khiếu nại đất đai
- Đăng ký trực tuyến: cho phép người dân và tổ chức đăng ký tài khoản trên website để tiếp cận dịch vụ và đăng ký khiếu nại một cách dễ dàng.
- Gửi đơn thư khiếu nại và tiếp nhận phản hồi trực tuyến đối với người dân, cơ quan, tổ chức một cách nhanh chóng.
- Quản lý khiếu nại: tổ chức các thông tin về khiếu nại như thời gian, địa điểm, loại khiếu nại, hồ sơ liên quan và người dùng liên quan, thống kê để dễ dàng quản lý, đăng những bài viết quan trọng nhằm giúp người dân tiếp cận với tin tức pháp luật một cách nhanh chóng nhất.
Dựa vào những yêu cầu cụ thể của hệ thống hiện hành chúng ta có thể đề nghị một hệ thống khác tiên tiến hơn, tiết kiệm được thời gian…
Mục tiêu hệ thống
Xây dựng “Website hỗ trợ công tác quản lý khiếu nại đất đai” nhằm:
- Hỗ trợ công việc lập, gửi và phê duyệt các đơn thư khiếu nại.
- Tích hợp với cổng thông tin điện tử của UBND tỉnh.
- Tạo cơ sở dữ liệu thống nhất trong UBND tỉnh.
- Người dân có một công cụ gửi đơn thư thuận tiện Lãnh đạo và các cán bộ có công cụ theo dõi, tổng hợp các đơn thư khiếu nại một cách nhanh chóng.
Phạm vi hệ thống
Hệ thống xây dựng cho đối tượng người gửi đơn thư khiếu nại, cán bộ quản lý về đất đai, cán bộ giám sát hệ thống.
Người sử dụng hệ thống
STT Người sử dụng Vai trò
Là thành viên quản trị của hệ thống, có các quyền và chức năng quản lý, thực hiện toàn bộ các chức năng của hệ thống.
Là hệ thống thành viên có chức năng: đăng nhập, tìm kiếm, xem, sửa thông tin cá nhân, xem thông tin về các đơn thư đã được gửi đến, gửi phản hồi, thống kê số lượng đơn thư khiếu nại, đăng bài viết Ngoài ra các cán bộ cao hơn có thể phân quyền cho những cán bộ cấp dưới.
3 Người khiếu nại Có chức năng: Đăng kí, đăng nhập, tìm kiếm, gửi đơn khiếu nại, chỉnh sửa thông tin cá nhân, bình luận đánh giá
Bảng 3.4 Người sử dụng hệ thống
Website hỗ trợ công tác khiếu nại đất đai
Quản lý hệ thống Đăng nhập Đăng ký Đăng xuất Đổi thông tin
Quản lý đơn khiếu nại
Xem thông tin đơn khiếu nại
Xem thông tin tài khoản
Báo cáo thống kê Đơn khiếu nại đã xử lý Đơn khiếu nại đang xử lý
Đặc tả yêu cầu hệ thống
Sơ đồ chức năng của hệ thống
Sơ đồ 3.5 Sơ đồ chức năng hệ thống
Biểu đồ usecase tổng quát
Biểu đồ 3.5(0) Biểu đồ usecase tổng quát
+ Mô tả nghiệp vụ: Chức năng cho phép người khiếu nại có thể đăng ký tài khoản để gửi đơn thư khiếu nại
Biểu đồ 3.5(1): Biểu đồ usecase chức năng đăng ký
Trang đăng nhập nếu tài khoản đăng ký thành công
Người dùng chọn chức năng đăng ký
Người dùng nhập thông tin đăng ký lên form đăng ký và ấn nút đăng ký
Hệ thống kiểm tra và xác nhận thông tin đăng ký và chuyển sang trang đăng nhập
+ Dòng sự kiên rẽ nhánh
Nếu thông tin đăng ký bị trùng thì hiển thị thông báo thông tin đăng ký không hợp lệ
Hiển thị form để người dùng đăng ký lại
Tài khoản người dùng không được trùng lặp với tài khoản đã cho trước
Người dùng chưa có tài khoản.
Chuyển đến trang đăng nhập.
Chuyển đến form đăng ký nếu thất bại.
+ Mô tả nghiệp vụ: Chức năng cho phép người dùng đăng nhập vào hệ thống để sử dụng các chức năng của hệ thống tùy thuộc vào đối tượng người dùng.
Biểu đồ 3.5(2): Biểu đồ usecase chức năng đăng nhập
Cán bộ địa chính huyện
Tài khoản(CMT/CCCD hoặc Số điện thoại)
Trang quản lý nếu là quản trị viên hoặc cán bộ địa chính huyện sau khi đã đăng nhập thành công
Trang chủ nếu là khách hàng
Trang đăng nhập nếu đăng nhập thất bại và hiển thị thông báo thông tin đăng nhập sai
Người dùng chọn chức năng đăng nhập
Người dùng nhập thông tin đăng nhập lên form đăng nhập và ấn nút đăng nhập
Hệ thống kiểm tra và xác nhận thông tin đăng nhập (Nếu là cán bộ địa chính hoặc quản trị viên thì chuyển đến trang quản lý, còn nếu là khách hàng thì chuyển tới trang chủ)
+ Dòng sự kiên rẽ nhánh
Nếu thông tin đăng nhập là sai thì hiển thị thông báo thông tin đăng nhập không hợp lệ
Hiển thị form để người dùng đăng nhập lại
Người dùng phải có tài khoản mật khẩu
Người dùng nếu chưa có tài khoản thì phải đăng ký
Khi cán bộ, quản trị viên truy cập vào tài khoản để thực viện công việc của mình.
Khi người khiếu nại cần truy cập để xem phản hồi của cơ quan chức năng, gửi đơn thư khiếu nại,
Chuyển đến trang chủ hoặc trang quản trị nếu đăng nhập thành công
Chuyển đến form đăng nhập nếu thất bại
- Thêm mới cán bộ địa chính huyện
Chức năng cho phép người dùng tạo mới cán bộ địa chính huyện cho hệ thống
+ Biểu đồ usecase chức năng Thêm cán bộ
Biểu đồ 3.5(3): Biểu đồ usecase chức năng Thêm cán bộ
Họ tên, Số điện thoại, Email, Mật khẩu, Huyện, Vai trò, Trạng thái.
Hiển thị thông báo kết quả
Chọn nhóm chức năng Danh sách cán bộ
Chọn chức năng thêm mới cán bộ
Hệ thống chuyển đến trang nhập Tạo cán bộ
Người dùng nhập thông tin cán bộ và click nút lưu
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Nếu chưa có tên cán bộ huyện thì cần thêm mới thể loại trước
Email của cán bộ không được trùng nhau
Không được bỏ trống các trường Họ tên Số điện thoại, Email, Mật khẩu, Huyện khi thêm mới cán bộ, nếu bỏ trống hệ thống sẽ load lại trang thêm mới cán bộ và hiện lên thông báo
Email của cán bộ không được trùng nhau
Không được bỏ trống thông tin cán bộ khi thêm mới
Đăng nhập thành công tài khoản quản trị viên
Không được bỏ trống thông tin cán bộ khi thêm mới
Hiển thị thông báo kết quả
- Thêm mới vai trò của cán bộ
Chức năng cho phép người dùng tạo vai trò của cán bộ cho hệ thống
Biểu đồ 3.5(4): Biểu đồ usecase Thêm vai trò
Vai trò cha, Tên vai trò, Mô tả.
Hiển thị thông báo kết quả
Chọn nhóm chức năng Phân quyền
Chọn chức năng thêm mới vai trò
Hệ thống chuyển đến trang nhập Tạo mới vai trò
Quản trị viên chọn vai trò cha cho vai trò mới, tiếp theo nhập tên vai trò và mô tả chi tiết về vai trò mới và click nút lưu
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Không được bỏ trống các trường Vai trò cha, Tên vai trò khi thêm mới vai trò, nếu bỏ trống hệ thống sẽ load lại trang thêm mới cán bộ và hiện lên thông báo
Không được bỏ trống thông tin vai trò khi thêm mới
Đăng nhập thành công tài khoản quản trị viên
Không được bỏ trống thông tin vai trò khi thêm mới
Hiển thị thông báo kết quả
Sửa thông tin Cán bộ
Chức năng cho phép người sửa thông tin Cán bộ(Cán bộ địa chính huyện chỉ được sửa thông tin cá nhân do mình tạo ra)
Biểu đồ 3.5(5): Biểu đồ usecase Sửa thông tin cán bộ
Tên danh mục cán bộ
Hiển thị thông báo kết quả
Chọn nhóm chức năng Cán bộ
Chọn chức năng sửa Cán bộ
Hệ thống chuyển đến trang nhập thông tin Cán bộ
Người dùng nhập thông tin Cán bộ và click nút lưu
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Không được bỏ trống thông tin Cán bộ khi sửa thông tin Cán bộ, nếu bỏ trống hệ thống sẽ load lại trang sửa danh mục sản phẩm và hiện lên thông báo
Không được bỏ trống thông tin Cán bộ khi sửa
Đăng nhập thành công tài khoản quản trị viên
Không được bỏ trống thông tin vai trò khi thêm mới
Hiển thị thông báo kết quả
Chức năng cho quản trị viên dùng xóa Cán bộ
Biểu đồ 3.5(6): Biểu đồ usecase Xóa cán bộ
Hiển thị thông báo kết quả
Chọn nhóm chức năng Cán bộ
Chọn chức năng xóa Cán bộ
Hệ thống sẽ hiện lên hộp thoại để yêu cầu người dùng có thực sự muốn xóa danh mục
Người dùng xác nhận yêu cầu
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Khi hộp thoại xác nhận yêu cầu hiển thị, quản trị viên không chọn xác nhận hệ thống sẽ hủy yêu cầu xóa của quản trị viên.
Email là duy nhất, nếu tạo mới nhân viên có email trùng với email có sẵn hệ thống sẽ load lại trang tạo mới và hiện lên thông báo
Phải có Cán bộ trên hệ thống mới tự hiện được chức năng xóa
Phải đăng nhập thành công tài khoản quản trị viên
Phải có Cán bộ trên hệ thống mới sử dụng được chức năng xóa
Khi hộp thoại xác nhận yêu cầu hiển thị người dùng phải xác nhận
Hiển thị thông báo kết quả
- Chức năng khóa tài khoản Cán bộ, Người khiếu nại
Chức năng cho phép quản trị viên khóa tài khoản của Cán bộ, Người khiếu nại Đối với tài khoản của Cán bộ chỉ có quyền khóa đối với các tài khoản của người khiếu nại
Biểu đồ 3.5(7): Biểu đồ usecase khóa cán bộ và khóa người khiếu nại
Hiển thị thông báo kết quả
Chọn nhóm chức năng quản lý Cán bộ, Người khiếu nại
Chọn tài khoản muốn khóa tạm thời
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Khi hộp thoại xác nhận yêu cầu hiển thị, người dùng không chọn xác nhận hệ thống sẽ hủy yêu cầu
Chỉ có tài khoản hoạt động với quyền của nhân viên mới có thể bị khóa
Hiển thị thông báo kết quả
- Chức năng sửa Vai trò Cán bộ
Chức năng cho phép người dùng chỉnh sửa quyền của một tài khoản
Biểu đồ 3.5(8): Biểu đồ usecase Sửa vai trò
Hiển thị thông báo kết quả
Chọn nhóm chức năng quản lý Cán bộ
Chọn tài khoản muốn chỉnh sửa
Chuyển đến trang chỉnh sửa
Người dùng chỉnh sửa lại quyền và ấn nút lưu
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Nếu người dùng không muốn chỉnh sửa, người dùng có thể click nút trở về trên trang sửa
Hiển thị thông báo kết quả
- Chức năng xử lý đơn thư khiếu nại
Chức năng cho phép người dùng phản hồi lại đơn thư khiếu nại
Biểu đồ 3.5(9): Biểu đồ usecase Gửi phản hồi
Hiển thị thông báo kết quả
Chọn nhóm chức năng quản lý Khiếu nại
Chọn đơn thư muốn khiếu nại trong Danh sác khiếu nại
Chuyển đến trang Chi tiết Phiếu Khiếu nại
Người dùng tải các tài liệu mà người khiếu nại gửi đến để xem sau đó tạo phản hồi, chọn vào mục giấy hẹn và chọn lịch hẹn và click vào nút Phản hồi.
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Nếu người dùng thấy đơn thư khiếu nại chưa thể thụ lý thì chỉ cần nhập nội dung phản hồi và click vào nút Phản hồi
Hiển thị thông báo kết quả
- Tạo đơn khiếu nại
Chức năng cho phép người khiếu nại tạo mới đơn khiếu nại
Biểu đồ 3.5(10): Biểu đồ usecase Tạo đơn khiếu nại
Khiếu nại về việc, Nội dung, Chọn đơn vị tiếp nhận, Tài liệu đính kèm
Hiển thị thông báo kết quả
Chọn nhóm chức năng Gửi yêu cầu/Khiếu nại
Người dùng chọn nhập tiêu đề khiếu nại, Nội dung
Người dùng chọn đơn vị tiếp nhận và chọn Tài liệu đính kèm
Người dùng click nút Gửi khiếu nại
Hệ thống thực hiện chức năng
Hệ thống sẽ chuyển về trang danh sách đơn nhập và hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Trên trang Tiếp nhận khiếu nại, người dùng muốn đổi ý muốn sửa đơn khiếu nại nữa Người dùng click nút Nhập lại trên trang để sửa lại
Phải chọn Đơn vị tiếp nhận
Phải chọn Đơn vị tiếp nhận
Hiển thị thông báo kết quả
- Tạo mới bài viết
Chức năng cho phép cán bộ, quản trị viên tạo mới báo viết
Biểu đồ 3.5(11): Biểu đồ usecase Tạo bài viết
Tiêu đề, Tóm tắt, Nội dung, Banner, Nhãn, Nhóm bài viết, Chọn hiển thị ở trang chủ hay không
Hiển thị thông báo kết quả
Chọn nhóm chức năng Quản lý bài viết
Người dùng chọn nhập Tiêu đề, Tóm tắt, Nội dung
Người dùng chọn Hiển thị ở Trang chủ
Chọn nhãn có sẵn hoặc nhập nhãn mới
Người dùng click nút Lưu
Hệ thống thực hiện chức năng
Hệ thống sẽ chuyển về trang danh sách bài viết và hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Trên trang Bài viết, người dùng muốn đổi ý không muốn lưu nữa Người dùng click nút Hủy
Không được bỏ trống thông tin bài viết khi sửa
Không được bỏ trống thông tin bài viết khi sửa
Hiển thị thông báo kết quả
Chức năng cho phép người sửa bài viết
Biểu đồ 3.5(12): Biểu đồ usecase Sửa bài viết
Hiển thị thông báo kết quả
Chọn nhóm chức năng Quản lý bài viết
Chọn chức năng sửa bài viết
Hệ thống chuyển đến trang nhập thông tin bài viết
Người dùng nhập thông tin bài viết và click nút lưu
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Không được bỏ trống thông tin bài Tiêu đề, Tóm tắt, Nội dung, nếu bỏ trống hệ thống sẽ load lại trang sửa danh mục sản phẩm và hiện lên thông báo
Không được bỏ trống thông tin bài viết khi sửa
Không được bỏ trống thông tin bài viết khi sửa
Hiển thị thông báo kết quả
Chức năng cho quản trị viên dùng xóa bài viết
Biểu đồ 3.5(13): Biểu đồ usecase Xóa bài viết
Hiển thị thông báo kết quả
Chọn nhóm chức năng Quản lý bài viết
Chọn chức năng xóa bài viết
Hệ thống sẽ hiện lên hộp thoại để yêu cầu người dùng có thực sự muốn xóa bài viết
Người dùng xác nhận yêu cầu
Hệ thống thực hiện chức năng
Hiển thị thông báo kết quả
+ Dòng sự kiện rẽ nhánh
Khi hộp thoại xác nhận yêu cầu hiển thị, quản trị viên không chọn xác nhận hệ thống sẽ hủy yêu cầu xóa của quản trị viên, cán bộ.
Phải có bài viết trên hệ thống mới thực hiện được chức năng xóa
Phải có bài viết trên hệ thống mới thực hiện được chức năng xóa
Khi hộp thoại xác nhận yêu cầu hiển thị người dùng phải xác nhận
Hiển thị thông báo kết quả
Yêu cầu phi chức năng
- Người sử dụng đăng ký tài khoản và đăng nhập với tài khoản duy nhất và không thể đăng nhập với tài khoản khác
- Phân quyền cho người sử dụng đến từng chức năng
- Tất cả thông tin được lưu trữ trên kho dữ liệu Không mất mát thông tin và được lưu trữ rõ ràng không dư thừa thông tin.
3.6.2 Yêu cầu về tính sử dụng (Usability)
- Giao diện đơn giản đủ để người dùng có thể sử dụng một cách dễ dàng
- Màu sắc giao diện phù hợp với nhận diện thương hiệu
- Ngôn ngữ 100% là Tiếng Việt
- Hệ thống đơn giản trong cài đặt và quản lý
- Hệ thống hỗ trợ các trình duyệt phổ biến như Google Chrome, Coccoc, IE…
3.6.3 Yêu cầu về độ tin cậy
- Hệ thống có độ tin cậy cao, đảm bảo cung cấp thông tin chính xác đến người dùng
3.6.4 Yêu cầu về tính hỗ trợ (Supportability)
- Bàn giao lại hệ thống sau khi thực hiện xong công việc bảo hành
3.6.5 Các ràng buộc thiết kế (Design Constraints)
Hệ thống đáp ứng các yêu cầu sau:
- Ngôn ngữ viết hệ thống là html, css, javascript
- Hệ thống được xây dựng trên php laravel
- Hệ quản trị cơ sở dữ liệu là MongoDB
- Phân tích và thiết kế được thực hiện theo chuẩn UML
3.6.6 Các yêu cầu tài liệu người dùng và hỗ trợ trực tuyến
Hệ thống đáp ứng các yêu cầu:
- Tài liệu người dùng được cung cấp đến tận tay người sử dụng cuối
- Tổ chức huấn luyện người dùng cuối sử dụng hệ thống
- Hỗ trợ hệ thống giúp đỡ trực tuyến cho người dùng cuối
THIẾT KẾ HỆ THỐNG
Thiết kế kiến trúc
Laravel là một framework phát triển ứng dụng web mạnh mẽ và phổ biến, được xây dựng trên ngôn ngữ lập trình PHP Laravel cung cấp một kiến trúc tổ chức dự án chặt chẽ và có sẵn nhiều tính năng hữu ích giúp bạn phát triển ứng dụng web nhanh chóng và hiệu quả.
Kiến trúc của Laravel gồm với các thành phần chính như sau:
-Router: Laravel cung cấp hệ thống định tuyến mạnh mẽ thông qua các tệp route Bạn có thể định nghĩa các route để xác định URL và xử lý các yêu cầu HTTP tương ứng.
- Middleware: Middleware trong Laravel cung cấp một cơ chế xử lý trung gian cho các yêu cầu HTTP trước khi chúng được định tuyến hoặc xử lý bởi các Controllers Middleware có thể thực hiện các tác vụ như xác thực, kiểm tra quyền truy cập, xử lý session và nhiều hơn nữa.
- Controller: Quản lý business logic của ứng dụng, xử lý yêu cầu được gửi đến từ router và trả về responses (phản hồi) cho user.
-Model: Models đại diện cho các đối tượng dữ liệu trong ứng dụng Chúng được sử dụng để truy cập và thao tác với cơ sở dữ liệu thông qua Eloquent ORM (Object-Relational
- Views: Views trong Laravel là các thành phần giao diện người dùng Chúng xác định cách dữ liệu được hiển thị và tương tác với người dùng.
- Database: Sử dụng các driver đa dạng như MySQL, SQLite, Postgres để lưu trữ và truy vấn dữ liệu.
-Blade Template Engine: Laravel sử dụng Blade làm công cụ mặc định để quản lý templates Blade cung cấp cú pháp đơn giản và mạnh mẽ cho việc hiển thị dữ liệu và xử lý các phần giao diện người dùng Đây chỉ là một số thành phần chính trong kiến trúc
Laravel Laravel còn nhiều tính năng và công cụ hỗ trợ khác như Eloquent ORM, Queues, Event System, Caching, và nhiều thư viện mở rộng khác Tất cả cùng nhau tạo nên một kiến trúc mạnh mẽ cho việc phát triển ứng dụng web trên Laravel
Do thời gian thực tập ngắn nên em cũng chưa nắm được hết các thành phần trong Laravel
Thiết kế dữ liệu
Tên cột Mô tả Kiểu dữ liệu
_id Mã người khiếu nại objectId name Tên người khiếu nại string aliases Bí danh string email Email string phone Số điện thoại string password Mật khẩu string account_name Tên đăng nhập(đăng nhập bằng
CMT/CCCD) string birthday Ngày sinh timestamp status Trạng thái string
Bảng 4.2.2(1): Bảng người khiếu nại
Tên cột Mô tả Kiểu dữ liệu
_id Mã phiếu khiếu nại objectId code Id người khiếu nại string user_id Id của huyện nhận khiếu nại objectId title Tiêu đề string content Nội dung string status Trạng thái phiếu khiếu nại boolean respondent_id Id người phản hồi string reply Phản hồi từ cán bộ string appointment Thời gian lịch hẹn timestamp
Bảng 4.2.2(2): Bảng phiếu khiếu nại
Tên cột Mô tả Kiểu dữ liệu
_id Mã nhân viên objectId name Tên nhân viên string email Email string phone Số điện thoại string role_ids Quyền array district_id Cán bộ huyện string is_admin Là admin boolean status Trạng thái status
Tên cột Mô tả Kiểu dữ liệu
_id Mã quyền hạn objectId name Tên quyền hạn string descriotion Mô tả quyền hạn string permission_group_code Mã nhóm quyền hạn string permission_type_code Mã loại quyền hạn string role_ids Quyền array
Tên cột Mô tả Kiểu dữ liệu
_id Mã loại quyền hạn objectId name Tên loại quyền hạn string code Mã loại quyền hạn string position Chức vụ int
Bảng 4.2.2(5): Bảng loại quyền hạn
Tên cột Mô tả Kiểu dữ liệu
_id Mã nhóm quyền hạn objectId name Tên nhóm quyền hạn string description Mô tả nhóm quyền hạn string code Mã nhóm quyền hạn string parent_code Mã nhóm quyền hạn cha mẹ string
Bảng 4.2.2(6): Bảng nhóm quyền hạn
Tên cột Mô tả Kiểu dữ liệu
_id Mã vai trò objectId name Tên vai trò string description Mô tả vai trò string is_protected Trạng thái bảo vệ boolean permission_ids Mã quyền hạn array parent_id Mã nhóm quyền hạn cha mẹ string
Giao diện
4.3.1 Trang chủ phía người khiếu nại
Trang chủ khi người khiếu nại truy cập vào website khiếu nại có các chức năng:
-Đăng nhập, Đăng ký, Gửi yêu cầu/Khiếu nại, Xem lịch sử khiếu nại,Tra cứu kết quả Đây là khi người khiếu nại chưa đăng nhập vào tài khoản
Hình 4.3.1(1): Giao diện trang chủ
-Khi đăng nhập vào tài khoản thì người khiếu nại có hiển thị các chức năng, Thông tin cá nhân và các bài viết.
Hình 4.3.1(2): Giao diện trang chủ
-Chi tiết bài viết có hiển thị phần tiêu đề, người tạo, ngày giờ tạo, phần tóm tắt và nội dung bài viết
Hình 4.3.1(3): Giao diện chi tiết bài viết
4.3.2 Trang đăng nhập, đăng ký phía người dùng
-Nếu người dùng đã có tài khoản thì nhập CMT/CCCD hoặc số điện thoại vào ô Tên đăng nhập và Mật khẩu vào ô Mật khẩu sau đó thao tác đăng nhập
Hình 4.3.2(1): Giao diện trang Đăng nhập
-Nếu người khiếu nại chưa có tài khoản thì click vào nút Đăng ký và chuyển sang ô đăng ký Sao đó người khiếu nại nhập đầy đủ thông tin có trên trang Đăng ký và click vào nút Đăng ký Khi đăng ký thành công sẽ chuyển sang trang Đăng nhập
Hình 4.3.2(2): Giao diện trang Đăng ký
4.3.3 Trang gửi yêu cầu/khiếu nại
- Người khiếu nại cần phải đăng nhập vào tài khoản để gửi yêu cầu/khiếu nại Khi chọn chức năng gửi khiếu nại, người khiếu nại sẽ được chuyển đến giao diện để nhập thông tin Tại đây, người khiếu nại cần nhập đầy đủ thông tin như nội dung khiếu nại, chọn đơn vị tiếp nhận và đính kèm các tài liệu liên quan để hồ sơ có thể được thông qua dễ dàng Sau khi nhập đầy đủ thông tin, người khiếu nại sẽ click vào nút "Gửi" để hoàn tất việc gửi khiếu nại Sau khi đã hoàn tất việc gửi khiếu nại, người khiếu nại sẽ được chuyển đến trang chủ và nội dung mới nhất sẽ hiển thị ở đầu trang Nếu người khiếu nại thấy thông tin nhập chưa đúng, có thể click vào nút "Nhập lại" để thay đổi thông tin và nộp lại khiếu nại.
Hình 4.3.3: Giao diện trang Gửi yêu cầu/khiếu nại
4.3.4 Trang Lịch sử khiếu nại
-Trang này có chứa các bài viết về đơn khiếu nại đã được trả lời và chưa trả lời
Hình 4.3.4(1): Giao diện trang Gửi yêu cầu/khiếu nại
-Khi người khiếu nại chọn xem vào bài chưa trả lời có đính kèm giấy hẹn đến địa điểm nhằm giải đáp khiếu nại.
Hình 4.3.4(2): Giao diện Chi tiết đơn khiếu nại khi chưa được Cơ quan chức năng trả lời
-Khi người khiếu nại chọn vào bài viết đã được cơ quan chức năng trả lời
Hình 4.3.4(2): Giao diện Chi tiết đơn khiếu nại khi đã được Cơ quan chức năng trả lời
4.3.5 Trang thông tin cá nhân của người khiếu nại
-Ở phần Chỉnh sửa thông tin cá nhân người khiếu nại có thể thay đổi được các thông tin như Họ và tên, Bí danh, Số điện thoại, Email, Ngày sinh.
Và các trường họ tên, bí danh, số điện thoại không được bỏ trống.
Hình 4.3.5(1): Giao diện phần chỉnh sửa thông tin
-Ở phần đổi mật khẩu, người khiếu nại nhập mật khẩu cũ, mật khẩu mới không được trùng với mật khẩu cũ và nhập lại mật khẩu mới trùng mới mật khẩu mới ở ô bên trên sau đó click vào Lưu lại để đổi mật khẩu.
Hình 4.3.5(2): Giao diện đổi mật khẩu
-Khi click vào ô Đăng xuất thì sẽ chuyển về giao diện Trang chủ khi chưa đăng nhập vào tài khoản.
4.3.6 Trang đăng nhập quản lý hệ thống
-Quản trị viên/Cán bộ nhập tài khoản và mật khẩu đã được cấp trước đó sau đó click vào nút đăng nhập.
Hình 4.3.6: Giao diện trang đăng nhập hệ thống quản lý
4.3.7 Trang quản lý cán bộ
-Khi quản trị viên chọn vào quản lý cán bộ sẽ hiển thị toàn bộ danh sách các cán bộ Quản trị viên có quyền thêm, sửa, xóa thông tin cán bộ và có thể khóa cán bộ bằng việc thay đổi trạng thái của cán bộ.
Hình 4.3.7(1): Giao diện trang quản lý cán bộ
-Giao diện tạo cán bộ có thể thêm vai trò của cán bộ.
Hình 4.3.7(2): Giao diện tạo cán bộ
- Giao diện sửa cán bộ, có thể khóa cán bộ bằng việc thay đổi trạng thái cán bộ.
Hình 4.3.7(3): Giao diện sửa cán bộ
-Giao diện xóa cán bộ, khi click vào xóa cán bộ sẽ hiển thị hộp thoại và chọn Xóa nếu chấp nhận xóa cán bộ hoặc chọn Hủy nếu không chấp nhận xóa cán bộ.
Hình 4.3.7(4): Giao diện xóa cán bộ
4.3.8 Trang quản lý vai trò cán bộ
-Giao diện của trang quản lý vai trò cán bộ, quản trị viên có quyền thêm sửa, xóa vai trò của cán bộ
Hình 4.3.8(1): Giao diện quản lý vai trò cán bộ
-Giao diện tạo mới vai trò, quản trị viên nhập đầy đủ thông tin của vai trò
Hình 4.3.8(2): Giao diện tạo vai trò cán bộ
-Giao diện phân quyền cho vai trò cán bộ, quản trị viên có thể gắn cán bộ vào vai trò
Hình 4.3.8(3): Giao diện phân quyền vai trò cán bộ
4.3.9 Trang quản lý người khiếu nại
-Quản trị viên hoặc cán bộ có thể xem thông tin của người khiếu nại hoặc khóa trạng thái của người khiếu nại với một số trường hợp bắt buộc.Quản trị viên hoặc cán bộ có thể tìm kiếm được người khiếu nại thông qua tên, bí danh, email, số điện thoại của người khiếu nại.
Hình 4.3.9: Giao diện quản lý người khiếu nại
4.3.10 Trang quản lý đơn khiếu nại
-Quản trị viên/ Cán bộ có thể xem, tìm kiếm được các đơn thư khiếu nại, tình trạng(đã xử lý hoặc chưa xử lý) của đơn thư khiếu nại.
Hình 4.3.10(1): Giao diện quản lý đơn khiếu nại
-Khi quản trị viên chọn vào đơn chưa xử lý
Hình 4.3.10(2): Giao diện đơn khiếu nại chưa xử lý
-Khi quản trị viên chọn vào đơn chưa xử lý
Hình 4.3.10(3): Giao diện đơn khiếu nại đã xử lý
4.3.11 Trang quản lý bài viết
-Quản trị viên/ Cán bộ có thể xem, tìm kiếm, thêm, sửa, xóa bài viết.
Hình 4.3.11(1): Giao diện danh sách bài viết
Hình 4.3.11(2): Giao diện thêm mới bài viết
Hình 4.3.11(3): Giao diện cập nhật bài viết(có thể sửa hoặc xóa bài viết)
- Quản trị viên/ Cán bộ có thể xem, tìm kiếm thống kê của tất cả hoặc là một huyện trong một khoảng thời gian nhất định.
Hình 4.3.12: Giao diện trang thống kê
KẾT QUẢ VÀ KIỂM THỬ
Kết quả
- Đăng ký tài khoản: Người khiếu nại có thể đăng ký tài khoản trên website để truy cập và sử dụng các chức năng.
- Tìm kiếm và lọc bài viết: Người khiếu nại có thể tìm kiếm và lọc bài viết, đơn khiếu nại theo yêu cầu thông qua các tiêu chí như từ khóa, danh mục, v.v.
- Lưu trữ thông tin về đơn khiếu nại từ người khiếu nại, bao gồm nội dung, ngày gửi, trạng thái xử lý, v.v.
- Hỗ trợ tìm kiếm, lọc và sắp xếp đơn khiếu nại theo nhiều tiêu chí khác nhau.
- Quản lý tin tức, bài viết liên quan đến các thông tin và cập nhật liên quan đến đơn khiếu nại.
- Cho phép quản trị viên chỉnh sửa, đăng bài viết mới và xem thông tin liên quan.
5.1.4 Quản lý người dùng (User Management)
- Quản lý thông tin về người khiếu nại đã đăng ký tài khoản.
- Hỗ trợ xem thông tin liên hệ và đơn khiếu nại của người khiếu nại.
5.1.5 Thống kê và báo cáo (Statistics and Reporting)
- Cung cấp chức năng thống kê và báo cáo về số lượng đơn khiếu nại, trạng thái xử lý, thời gian xử lý, v.v.
- Hỗ trợ hiển thị thông tin dưới dạng biểu đồ, bảng, v.v để giúp nhà quản trị dễ dàng theo dõi và phân tích.
- Quản lý đơn khiếu nại: Cho phép quản trị viên xem và cập nhật trạng thái xử lý của đơn khiếu nại.
- Quản lý người khiếu nại: Cho phép quản trị viên xem và quản lý thông tin liên hệ và đơn khiếu nại của người khiếu nại.
- Quản lý tin tức: Cho phép quản trị viên thêm, sửa, xóa tin tức và bài viết.
- Thống kê báo cáo: Cung cấp chức năng thống kê và báo cáo cho nhà quản trị.
5.1.7 Giao diện người dùng (User Interface)
- Xây dựng giao diện người dùng thân thiện, dễ sử dụng và tương thích trên các thiết bị khác nhau.
- Đảm bảo tính bảo mật và quyền riêng tư của người dùng thông qua xác thực, phân quyền, mã hóa dữ liệu, v.v.
Kiểm thử
Sau khi hoàn thiện chương trình và chạy thử nghiệm, kết quả thu được như sau:
- Về giao diện: giao diện thân thiện, dễ sử dụng, hoạt động ổn định trong môi trường hệ điều hành windows và môi trường internet Giao diện phù hợp với các kích thước màn hình khác nhau Màu sắc giao diện phù hợp với nhận diện thương hiệu.
- Về chức năng: chương trình đã thực hiện được các chức năng đã đề ra trong bản đặc tả.