Bối cảnh và vấn đề nghiên cứu

Trong công tác quản lý nhà nước hiện đại, cơ sở dữ liệu quốc gia về dân cư giữ vai trò then chốt nhằm số hóa, lưu trữ và chuẩn hóa thông tin của mọi công dân. Việc xây dựng một hệ thống dữ liệu tập trung, thống nhất không chỉ hỗ trợ chính quyền các cấp theo dõi chính xác các biến động dân số (sinh, tử, cơ cấu độ tuổi, dịch chuyển cư trú) mà còn là tiền đề quan trọng để cắt giảm thủ tục hành chính rườm rà, hạn chế việc người dân phải mang theo quá nhiều giấy tờ cá nhân khi thực hiện giao dịch dân sự.

Tại cấp cơ sở, việc quản lý nhân khẩu và hộ khẩu vẫn đối mặt với nhiều khó khăn do quy trình ghi chép thủ công, đặc biệt tại các khu vực có mật độ dân cư và mức độ biến động cơ học cao. Đề tài báo cáo thực tập chuyên ngành của nhóm sinh viên Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Hà Nội tập trung giải quyết bài toán quản lý dân cư tại một địa bàn cụ thể với các đặc điểm thực tiễn sau:

  • Địa bàn và đối tượng khảo sát: Ban quản lý tổ dân phố 7, phường La Khê.
  • Quy mô quản lý: Hơn 400 hộ gia đình với khoảng 1.700 nhân khẩu; đồng thời phải theo dõi hàng trăm sinh viên thuê trọ và hàng chục hộ gia đình từ địa phương khác đến thuê địa điểm kinh doanh dịch vụ.
  • Nhiệm vụ nghiên cứu:
    1. Khảo sát thực trạng quản lý hộ khẩu, nhân khẩu và tiếp nhận phản ánh, kiến nghị tại tổ dân phố 7 phường La Khê.
    2. Xác định yêu cầu nghiệp vụ, luồng thông tin vào/ra và các ràng buộc hệ thống.
    3. Xây dựng mô hình phân tích - thiết kế phần mềm theo chuẩn UML và kiến trúc MVC.
    4. Hiện thực hóa phần mềm bằng ngôn ngữ lập trình Java kết hợp hệ quản trị cơ sở dữ liệu MySQL.
    5. Thiết kế kịch bản và tiến hành kiểm thử các chức năng phần mềm cùng các yêu cầu phi chức năng.

Cơ sở lý thuyết và phương pháp

Đề tài áp dụng quy trình phát triển phần mềm theo các giai đoạn chuẩn hóa trong kỹ thuật phần mềm:

  • Mô hình kiến trúc phần mềm: Kiến trúc MVC (Model - View - Controller), phân tách rõ ràng giữa tầng dữ liệu (Model), tầng giao diện tương tác người dùng (View) và tầng xử lý điều hướng logic (Controller).
  • Phương pháp mô hình hóa hệ thống:
    • Biểu đồ phân cấp chức năng (BFD - Business Function Diagram): Phân rã có thứ bậc các nghiệp vụ quản lý thành cây chức năng chi tiết.
    • Ngôn ngữ mô hình hóa thống nhất (UML): Sử dụng biểu đồ Use Case (tổng quan và phân rã mức 2), biểu đồ lớp phân tích (Analysis Classes), và biểu đồ trình tự (Sequence Diagram) để mô tả tương tác giữa tác nhân và hệ thống.
    • Mô hình dữ liệu quan hệ (ERD - Entity Relationship Diagram): Xác định các thực thể và mối liên kết logic phục vụ thiết kế cơ sở dữ liệu.
  • Phương pháp thu thập và xử lý thông tin: Thu thập biểu mẫu quản lý hộ khẩu, nhân khẩu thực tế, phân tích các trường thông tin pháp lý (họ tên, ngày sinh, số CCCD/CMND, nguyên quán, quan hệ với chủ hộ, biến động tạm trú/tạm vắng) để xây dựng lược đồ dữ liệu.

Nội dung chính theo từng chương

Chương 1. Khảo sát bài toán

Chương 1 làm rõ hiện trạng quản lý thông tin tại tổ dân phố 7, phường La Khê. Ban quản lý (tổ trưởng, tổ phó) có nhu cầu tìm kiếm nhanh, tra cứu lịch sử thay đổi nhân khẩu, ghi nhận các hoạt động tách hộ, chuyển đi, khai tử, đăng ký tạm trú, tạm vắng và tiếp nhận kiến nghị của người dân theo từng quý.

Nhóm tác giả đã tiến hành chuẩn hóa luồng dữ liệu vào/ra cho các nghiệp vụ chính:

Nghiệp vụ Dữ liệu đầu vào (Input) Tiến trình xử lý (Process) Kết quả đầu ra (Output)
Tra cứu thông tin Họ tên, ngày sinh, nơi sinh, số CCCD/CMND... Duyệt và tìm kiếm theo tiêu chí đầu vào Danh sách chi tiết thông tin công dân
Thêm/Cập nhật nhân khẩu Thông tin cá nhân, ngày đăng ký thường trú Thêm mới hoặc ghi đè thông tin trong hệ thống Danh sách quản lý cập nhật mới
Xóa nhân khẩu Thông tin công dân cần xóa Loại bỏ thông tin khỏi hệ thống quản lý Danh sách nhân khẩu đã cập nhật
Chuyển chủ hộ Họ tên, nội dung và ngày thay đổi Chuyển quyền chủ hộ sang công dân được chỉ định Sổ hộ khẩu cập nhật chủ hộ mới
Tách hộ khẩu Thông tin nhân khẩu tách, ngày thay đổi Phân tách nhân khẩu để tạo lập hộ mới Thêm một sổ hộ khẩu mới vào hệ thống
Chuyển hộ khẩu Ngày chuyển đi, nơi chuyển đi, ghi chú Cập nhật trạng thái chuyển nơi cư trú Thông tin chuyển hộ khẩu hoàn tất
Quản lý phản ánh Người phản ánh, nội dung, ngày phản ánh, phân loại Ghi nhận phản ánh, chuyển cấp trên xử lý Danh sách phản ánh theo trạng thái

Bên cạnh đó, chương 1 phân tích tính khả thi và rủi ro của dự án: nghiệp vụ thay đổi thông tin và thống kê có độ phức tạp trung bình, nghiệp vụ giải quyết phản ánh có độ phức tạp khó. Nhóm xây dựng kế hoạch dự án từ giai đoạn khảo sát (1-2 ngày), thiết kế (1-3 ngày), viết mã (2-3 tuần), kiểm thử (1 tuần) đến bảo trì (2 năm).

Chương 2. Đặc tả yêu cầu bài toán

Chương 2 định nghĩa hai tác nhân (Actor) chính:

  • Người quản lý: Tổ trưởng, tổ phó khu dân cư có toàn quyền cập nhật, chỉnh sửa thông tin dân cư và giải quyết phản ánh.
  • Người dân: Nhân khẩu trong tổ dân phố, cung cấp thông tin chính xác và gửi kiến nghị.

Hệ thống được đặc tả gồm 15 ca sử dụng (Use Case) cụ thể:

Mã Use Case Tên Use Case Tác nhân Độ phức tạp
UC001 Đăng nhập Quản lý tổ dân phố Dễ
UC002 Tạo mới sổ hộ khẩu Quản lý tổ dân phố Khó
UC003 Chuyển cả hộ đi nơi khác Quản lý tổ dân phố Trung bình
UC004 Thay đổi thông tin cả hộ Quản lý tổ dân phố Trung bình
UC005 Tách hộ từ hộ khẩu đã có Quản lý tổ dân phố Khó
UC006 Thêm nhân khẩu Quản lý tổ dân phố Trung bình
UC007 Thay đổi thông tin nhân khẩu Quản lý tổ dân phố Dễ
UC008 Cấp khai báo tạm trú, tạm vắng Quản lý tổ dân phố Dễ
UC009 Thống kê theo giới tính, độ tuổi Quản lý tổ dân phố Trung bình
UC010 Thống kê theo khoảng thời gian Quản lý tổ dân phố Trung bình
UC011 Thống kê tạm trú, tạm vắng Quản lý tổ dân phố Dễ
UC012 Ghi nhận phản ánh Quản lý tổ dân phố Khó
UC013 Gộp phản ánh trùng nhau Quản lý tổ dân phố Khó
UC014 Thông báo khi có phản hồi Quản lý tổ dân phố Trung bình
UC015 Thống kê số lượng phản ánh theo trạng thái Quản lý tổ dân phố Trung bình

Chương này cũng nêu rõ các yêu cầu phi chức năng:

  • Tính tương thích & giao diện: Tương thích hệ điều hành Windows 7 và Windows 10; giao diện trực quan.
  • Tính ổn định: Vận hành 24/7, tỷ lệ thời gian ngừng hoạt động (downtime) không vượt quá 10%.
  • Hiệu suất: Hỗ trợ đồng thời 2.000 người dùng truy xuất cơ sở dữ liệu trung tâm và 500 người dùng truy xuất server cục bộ; độ trễ kết nối danh mục học phần cũ không quá 10 giây; thời gian chuyển trang dưới 2 giây; 80% giao dịch hoàn tất trong vòng 2 phút.

Chương 3. Phân tích yêu cầu

Chương 3 tiến hành phân rã các yêu cầu thành lớp phân tích (Analysis Classes) và biểu đồ trình tự (Sequence Diagram) cho các chức năng: Đăng nhập, Tạo mới hộ khẩu, Chuyển hộ khẩu, Thay đổi thông tin hộ khẩu, Tách hộ khẩu, Thêm mới nhân khẩu, Thay đổi thông tin nhân khẩu, Thống kê, Thêm mới phản ánh và Giải quyết phản ánh.

Mô hình thực thể liên kết (ERD) xác định các ràng buộc thực thể chính:

  • Nhân khẩu thuộc về một hộ khẩu hoặc giữ vai trò là chủ hộ.
  • Nhân khẩu thực hiện khai báo phản ánh, kiến nghị.
  • Nhân khẩu đăng ký khai báo tạm trú hoặc tạm vắng theo thời hạn.
  • Nhân khẩu qua đời được thân nhân khai báo tử.
  • Hộ khẩu thực hiện các đính chính, điều chỉnh thông tin hành chính.

Chương 4. Thiết kế chương trình

Chương 4 tập trung thiết kế kiến trúc và lược đồ cơ sở dữ liệu chi tiết. Kiến trúc hệ thống phân rã thành các gói chức năng (packages) riêng biệt trong mã nguồn Java:

  • view: Chứa các tệp và thành phần giao diện người dùng.
  • javafx: Thư viện đồ họa được sử dụng để xây dựng giao diện ứng dụng.
  • main: Chứa lớp khởi chạy chương trình chính.
  • utility: Cung cấp các công cụ, hàm tiện ích hỗ trợ.
  • controller: Tiếp nhận sự kiện từ giao diện và điều khiển luồng dữ liệu.
  • services: Chứa các lớp nghiệp vụ, thực hiện xử lý logic và truy xuất cơ sở dữ liệu.
  • model: Định nghĩa cấu trúc dữ liệu của các thực thể trong hệ thống.
  • bean: Lớp liên kết trung gian giữa các thực thể.
  • jdbc: Quản lý cấu hình và kết nối cơ sở dữ liệu.
  • mysql: Hệ quản trị cơ sở dữ liệu lưu trữ dữ liệu tập trung.

Đặc tả bảng dữ liệu tiêu biểu nhan_khau:

Tên trường Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Ghi chú
ID Int(11) 11 ký tự Khóa chính Số nguyên dương tự tăng
maNhanKhau Varchar(100) 100 ký tự Văn bản Mã định danh nhân khẩu
hoTen Varchar(100) 100 ký tự Văn bản Họ và tên công dân
bietDanh Varchar(100) 100 ký tự Văn bản Bí danh (nếu có)
namSinh Date - Ngày tháng Ngày tháng năm sinh

Chương 5. Xây dựng chương trình minh họa

Chương 5 trình bày việc cài đặt các thư viện lập trình, công cụ hỗ trợ và kết quả hiển thị giao diện minh họa của phần mềm quản lý dân cư trên nền tảng JavaFX. Các màn hình chức năng bao gồm giao diện đăng nhập, quản lý sổ hộ khẩu, thêm mới/chỉnh sửa nhân khẩu, giao diện tiếp nhận và giải quyết phản ánh của cư dân.

Chương 6. Kiểm thử chương trình

Chương 6 mô tả quy trình kiểm thử hệ thống. Nhóm tác giả thiết kế các ca kiểm thử chức năng (Functional Testing) cho 11 ca sử dụng chính nhằm kiểm tra tính chính xác của luồng sự kiện chính và luồng sự kiện thay thế (xử lý ngoại lệ, thông báo lỗi thiếu trường bắt buộc, trùng mã số hộ khẩu). Đồng thời, chương này tiến hành kiểm thử các tiêu chí phi chức năng về thời gian phản hồi và độ ổn định.

Chương 7. Hướng dẫn cài đặt và sử dụng

Chương 7 cung cấp tài liệu hướng dẫn triển khai:

  • Xác định đối tượng và phạm vi sử dụng phần mềm tại các tổ dân phố.
  • Liệt kê các yêu cầu phần cứng, môi trường phần mềm (Java Runtime Environment, hệ quản trị MySQL).
  • Các bước chi tiết để thiết lập cơ sở dữ liệu, cấu hình kết nối JDBC và vận hành từng chức năng trên giao diện người dùng.

Thiết kế và triển khai hệ thống

Hệ thống được phát triển hoàn toàn trên nền tảng ngôn ngữ Java, áp dụng chặt chẽ mô hình MVC:

[ Giao diện người dùng (View: JavaFX) ]
   [ Bộ điều khiển (Controller) ]
 [ Dịch vụ & Dữ liệu (Services / Model / Bean) ]
   [ Cơ sở dữ liệu quan hệ (MySQL) ]
  • Công nghệ triển khai: Ngôn ngữ lập trình Java, giao diện đồ họa JavaFX, hệ quản trị cơ sở dữ liệu MySQL, giao thức kết nối JDBC.
  • Tổ chức mã nguồn: Phân tách thành 10 gói thành phần (view, javafx, main, utility, controller, services, model, bean, jdbc, mysql), đảm bảo tính độc lập và khả năng bảo trì.
  • Kiểm thử hệ thống: Thực hiện kiểm thử toàn diện trên 11 chức năng trọng yếu và kiểm tra độ trễ chuyển trang (đáp ứng tiêu chuẩn dưới 2 giây theo đặc tả phi chức năng).

Kết quả và đóng góp

  • Kết quả thực nghiệm: Xây dựng thành công phần mềm quản lý dân cư đáp ứng đầy đủ 15 ca sử dụng nghiệp vụ, phục vụ trực tiếp cho công tác quản lý hơn 400 hộ dân và 1.700 nhân khẩu tại tổ dân phố 7, phường La Khê.
  • Đóng góp kỹ thuật: Hoàn thiện bộ tài liệu phân tích thiết kế hệ thống chi tiết bao gồm biểu đồ BFD, 15 đặc tả ca sử dụng, hệ thống biểu đồ trình tự, mô hình thực thể ERD và thiết kế kiến trúc MVC nhiều tầng rõ ràng.
  • Đóng góp thực tiễn: Giúp cán bộ quản lý tổ dân phố giảm thiểu thời gian tra cứu, quản lý chính xác các trường hợp tạm trú, tạm vắng và tự động hóa công tác phân loại, xử lý đơn thư phản ánh của cư dân.

Hạn chế và hướng phát triển

  • Hạn chế: Phạm vi ứng dụng của phần mềm mới dừng lại ở quy mô thử nghiệm nội bộ cho một tổ dân phố nhỏ; một số ràng buộc phi chức năng (như tích hợp dữ liệu danh mục học phần cũ) phản ánh việc kế thừa khung đặc tả chung mà chưa đồng bộ hoàn toàn với dữ liệu thực tế tại địa bàn.
  • Hướng phát triển: Mở rộng khả năng liên thông dữ liệu đa cấp từ tổ dân phố lên cấp phường/xã; tích hợp đồng bộ dữ liệu với hệ thống CSDL quốc gia về dân cư trên môi trường trực tuyến.

Giá trị tham khảo

Báo cáo là tài liệu tham khảo phù hợp cho:

  • Sinh viên chuyên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về ứng dụng Java/JavaFX kết hợp MySQL.
  • Người học cần tài liệu mẫu chuẩn về quy trình công nghệ phần mềm: từ khảo sát nghiệp vụ thực tế, xây dựng biểu đồ phân cấp BFD, viết đặc tả Use Case chi tiết đến phân rã lớp phân tích và thiết kế kiến trúc MVC.

Câu hỏi thường gặp

1. Phạm vi khảo sát và dữ liệu thực tế của đề tài được thực hiện ở đâu?
Đề tài khảo sát trực tiếp tại Ban quản lý tổ dân phố 7, phường La Khê, với quy mô quản lý hơn 400 hộ gia đình, 1.700 nhân khẩu, cùng hàng trăm sinh viên và hàng chục hộ kinh doanh thuê trọ.

2. Phần mềm được xây dựng bằng những công nghệ và kiến trúc nào?
Phần mềm sử dụng ngôn ngữ Java, giao diện đồ họa JavaFX, hệ quản trị cơ sở dữ liệu MySQL, kết nối qua JDBC và được tổ chức theo kiến trúc Model-View-Controller (MVC).

3. Hệ thống hỗ trợ bao nhiêu ca sử dụng (Use Case) và gồm những mảng nghiệp vụ nào?
Hệ thống gồm 15 ca sử dụng (từ UC001 đến UC015), chia thành 4 nhóm nghiệp vụ chính: Quản lý thông tin sổ hộ khẩu (tạo mới, tách hộ, chuyển đi), Quản lý thông tin nhân khẩu (thêm mới, thay đổi, cấp tạm trú/tạm vắng), Thống kê dữ liệu (theo độ tuổi, giới tính, thời gian) và Quản lý thông tin phản ánh, kiến nghị.

4. Yêu cầu phi chức năng về hiệu suất và tính ổn định của hệ thống được quy định ra sao?
Hệ thống yêu cầu hoạt động liên tục 24/7 với thời gian ngừng hoạt động không quá 10%; hỗ trợ 2.000 người dùng đồng thời trên CSDL trung tâm; thời gian chuyển trang không quá 2 giây và 80% giao dịch phải hoàn tất trong vòng 2 phút.

Kết luận

Báo cáo thực tập chuyên ngành của nhóm sinh viên Trường Đại học Công nghiệp Hà Nội đã hoàn thành việc khảo sát, phân tích, thiết kế và cài đặt thử nghiệm thành công phần mềm quản lý dân cư bằng ngôn ngữ Java. Hệ thống giải quyết hiệu quả các bài toán biến động nhân khẩu, hộ khẩu và quản lý đơn thư phản ánh tại tổ dân phố 7 phường La Khê. Toàn bộ quy trình phát triển được tài liệu hóa chi tiết từ mô hình UML đến kiểm thử, mang lại giá trị thực hành cao cho sinh viên ngành kỹ thuật phần mềm.