1. Trang chủ
  2. » Luận Văn - Báo Cáo

Áo cáo thí nghiệm thực nghiệmmôn thực tập chuyên ngành sử dụng ngôn ngữ java để xây dựng phần mềm quản lý dân cư

104 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Sử dụng ngôn ngữ Java để xây dựng phần mềm quản lý dân cư
Tác giả Phạm Đức Công, Trần Tiến Cường, Vũ Phát Đạt, Đào Công Đoàn
Người hướng dẫn Ths Nguyễn Thái Cường
Trường học Trường Đại học Công nghiệp Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo thí nghiệm/thực nghiệm môn thực tập chuyên ngành
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 104
Dung lượng 3,48 MB

Cấu trúc

  • CHƯƠNG 1. KHẢO SÁT BÀI TOÁN (7)
    • 1.1. Mô tả yêu cầu bài toán (7)
    • 1.2. Khảo sát bài toán (7)
    • 1.3. Xác định thông tin cơ bản cho nghiệp vụ của bài toán (10)
    • 1.4. Xây dựng biểu đồ mô tả nghiệp vụ và phân cấp chức năng (11)
    • 1.5. Xây dựng kế hoạch dự án đơn giản (13)
  • CHƯƠNG 2. ĐẶC TẢ YÊU CẦU BÀI TOÁN (15)
    • 2.1. Giới thiệu chung (15)
    • 2.2. Biểu đồ use case (18)
      • 2.2.1. Biểu đồ use case tổng quan (18)
      • 2.2.2. Biểu đồ use case phân rã mức 2 (19)
    • 2.3. Đặc tả use case (21)
    • 2.4. Các yêu cầu phi chức năng (38)
  • CHƯƠNG 3. PHÂN TÍCH YÊU CẦU (40)
    • 3.1. Xác định các lớp phân tích (40)
    • 3.2. Xây dựng biểu đồ trình tự (43)
    • 3.3. Xây dựng biểu đồ thực thể liên kết (ERD) (47)
  • CHƯƠNG 4. THIẾT KẾ CHƯƠNG TRÌNH (48)
    • 4.1. Thiết kế kiến trúc (48)
    • 4.2. Thiết kế cơ sở dữ liệu (49)
    • 4.3. Thiết kế chi tiết các gói (58)
    • 4.4. Thiết kế chi tiết lớp (58)
    • 4.5. Sơ đồ lớp chi tiết (65)
    • 4.6. Thiết kế giao diện (67)
  • CHƯƠNG 5. XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA (78)
    • 5.1. Thư viện và công cụ sử dụng (78)
    • 5.2. Kết quả chương trình minh họa (78)
    • 5.3. Giao diện minh hoạ các chức năng của chương trình (78)
  • CHƯƠNG 6. KIỂM THỬ CHƯƠNG TRÌNH (88)
    • 6.1. Kiểm thử các chức năng đã thực hiện (88)
      • 6.1.1. Kiểm thử cho chức năng 1 (88)
      • 6.1.2. Kiểm thử cho chức năng 2 (88)
      • 6.1.3. Kiểm thử cho chức năng 3 (90)
      • 6.1.4. Kiểm thử cho chức năng 4 (92)
      • 6.1.5. Kiểm thử cho chức năng 5 (93)
      • 6.1.6. Kiểm thử cho chức năng 6 (94)
      • 6.1.7. Kiểm thử cho chức năng 7 (95)
      • 6.1.8. Kiểm thử cho chức năng 8 (96)
      • 6.1.9. Kiểm thử cho chức năng 9 (97)
      • 6.1.10. Kiểm thử cho chức năng 10 (98)
      • 6.1.11. Kiểm thử cho chức năng 11 (98)
      • 6.1.12. Kiểm thử yêu cầu phi chức năng (99)
  • CHƯƠNG 7. HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG (100)
    • 7.1. Hướng dẫn cài đặt (100)
    • 7.2. Đối tượng, phạm vi sử dụng (100)
    • 7.3. Xác định các yêu cầu cài đặt (100)
    • 7.4. Hướng dẫn chi tiết các bước cài đặt (100)
    • 7.5. Hướng dẫn sử dụng phần mềm (101)

Nội dung

Phần mềm có gồmmột số chức năng chính như thêm nhân khẩu, thêm hộ khẩu, sửa thông tin vềnhân khẩu, hộ khẩu, đăng ký tạm trú, tạm vắng, khai tử, tách hộ khẩu, quản lýphản ánh của dân cư,…

KHẢO SÁT BÀI TOÁN

Mô tả yêu cầu bài toán

Bài toán quản lý thông tin khu dân cư/ tổ dân phố(thông tin hộ khẩu, nhân khẩu, thông tin phản ánh, kiến nghị)

 Ban quản lý tổ dân phố 7 phường La Khê cần quản lý thông tin khu dân cư/ tổ dân phố có hơn 400 hộ gia đình với 1700 nhân khẩu, hàng trăm sinh viên thuê trọ và hàng chục gia đình nới khác đến thuê nhà làm kinh doanh dịch vụ Cần quản lý thông tin chung từ thông tin nhân khẩu mỗi hộ gia đình, sổ hộ khẩu(họ và tên, bí danh, ngày tháng năm sinh, nơi sinh, nguyên quán, dân tộc, nghề nghiệp, nơi làm việc, số CCCD, ngày và nơi cấp, ngày tháng đăng kí thường trú, )

 Tổ trưởng, tổ phó cần tìm kiếm các thông tin, xem lịch sử thay đổi nhân khẩu của một hộ để quản lý các hoạt động biến đổi nhân khẩu như thêm nhân khẩu mới, thay đổi nhân khẩu(người chuyển đi nơi khác, người đã qua đời), những thay đổi liên quan đến cả hộ, tách hộ từ một hộ khẩu, hộ gia đình có ai đó đi xa dài ngày hoặc có nhân khẩu địa phương khác đên cư trú tạm thời trong một khoảng thời gian.

 Tổ trưởng cũng cần quản lý các thông tin phản ánh, kiến nghị (người phản ánh, nội dung, ngày phản ánh, phân loại và trạng thái) Thống kê số lượng kiến nghị theo trạng thái( mới ghi nhận, chưa giải quyết, đã giải quyết, ) theo từng quý.

Khảo sát bài toán

Một số mẫu quản lý thông tin hộ khẩu, nhân khẩu, thông tin phản ánh, kiến nghị theo yêu cầu bài toán

Xác định thông tin cơ bản cho nghiệp vụ của bài toán

Họ và tên, bí danh, ngày tháng năm sinh, nơi sinh, nguyên quán, dân tộc, nghề nghiệp, nơi làm việc, số CMND hoặc số CCCD

Duyệt và tìm kiếm theo thông tin đầu vào

Danh sách thông tin chi tiết về công dân với các thông tin đầu vào

Thêm công dân vào hệ quản lý

Danh sách quản lý mới khi đã thêm công dân Cập nhật lại thông tin Danh sách quản lý mới khi đã cập nhật lại thông tin công dân

Xóa thông tin công dân ra khỏi hệ quản lý

Danh sách quản lý mới khi đã xóa thông tin côn dân

Họ và tên, nội dung thay đổi, ngày thay đổi

Chuyển chủ hộ khẩu sang công dân có thông tin chi tiết từ đầu vào

Hộ khẩu được thay đổi chủ hộ

Họ và tên, ngày thay đổi Tách hộ khẩu theo những công dân có thông tin chi tiết từ đầu vào

Danh sách quản lý tạo ra thêm một hộ khẩu

Ngày chuyển đi, nơi chuyển đi, ghi chú

Thêm thông tin về ngày chuyển đi, nơi chuyển đi

Thông tin về chuyển hộ khẩu của công dân được cập nhật

Người phản ánh, nội dung, ngày phản ánh, phân loại và trạng thái

Thêm phản ánh vào danh sách để gửi lên cấp trên

Danh sách các phản ánh của người dân

Xây dựng biểu đồ mô tả nghiệp vụ và phân cấp chức năng

Biểu đồ phân cấp chức năng (BFD - Bussiness Function Diagram): phân rã có thứ bậc đơn giản các chức năng của hệ thống thành các chức năng nhỏ hơn, cuối cùng thu được một cây chức năng.

Biểu đồ này thể hiện các đầu việc mà hệ thống cần thực hiện để đạt được mục tiêu quản lý

Mô tả các chức năng trong biểu đồ:

Tên chức năng Mô tả Đánh giá khả năng thực hiện (nhân lúc, thời gian, công nghệ, môi trường)

Thay đổi thông tin về nhân khẩu theo yêu cầu của người dân như: địa chỉ, thông tin cá nhân, thêm nhân khẩu, tách nhân khẩu,…

Xác minh nội dung khiếu nại, làm việc trực tiếp với người khiếu nại, người đại diện, người được ủy quyền, ra quyết định giải quyết khiếu nại.

Thống kê số lượng nhân khẩu, số hộ nghèo, những thay đổì về dân số theo thời gian do những thay đổi trong tỷ suất sinh, tỷ suất chết và di cư; phân bố độ tuổi và giới tính của dân số; phân bố địa lý và nghề nghiệp,…

Xây dựng kế hoạch dự án đơn giản

Công việc Thời gian (số giờ làm việc)

1.1Khảo sát chi tiết yêu cầu

1.2Xác định các đối tượng

1.3Xác định các nghiệp vụ

1.4Xác định thời gian thực hiện

2.1Thiết kế biểu đồ use- case

2.2Thiết kế biể đồ lớp 1-2 ngày

2.3 Thiết kế giao diện 1-2 ngày

2.4 Thiết kế cơ sở dữ liệu

Bảng quản lý đơn giản các rủi ro với dự án phát triển phần mềm

Xác định rủi ro Quản lý rủi ro

Mối nguy Rủi ro Mức độ

Sai thông tin các hộ khẩu

Không có thông tin dự

13 hộ khẩu phòng kiểm tra Phản ánh, kiến nghị

Xử lý không kịp các phản ánh

Tổ phó tham gia xử lý cùng

ĐẶC TẢ YÊU CẦU BÀI TOÁN

Giới thiệu chung

Bảng liệt kê các tác nhân và mô tả thông tin cho các tác nhân:

STT Tên tác nhân Mô tả tác nhân

1 Người quản lý Là tổ trưởng, tổ phó ở khu dân cư, có quyền thay đổi thông tin dân cư

2 Người dân Là nhân khẩu trong tổ dân phố, có trách nhiệm khai báo thông tin của bản thân một cách chính xác

Quan hệ giữa các tác nhân: Tổ trưởng, tổ phó quản lý thông tin của người dân, người dân cung cấp thông tin cho người quản lý.

Mô tả Usecase Tác nhân tương tác Độ phức tạp

Cho phép một người dùng có tài khoản truy cập vào hệ thống

Quản lý tổ dân phố

2 UC002 Tạo mới sổ hộ khẩu

Cho phép một người dùng đã đăng nhập tạo ra một sổ hộ khẩu mới

Quản lý tổ dân phố

3 UC003 Chuyển cả hộ đi nơi khác

Cho phép một người dùng đã đăng nhập chuyển hộ khẩu đi nơi khác

Quản lý tổ dân phố

4 UC004 Thay đổi thông tin cả hộ

Cho phép một người dùng đã đăng nhập thay đổi thông tin cả hộ khẩu

Quản lý tổ dân phố

5 UC005 Tách hộ từ hộ khẩu đã có

Cho phép một người dùng đã đăng nhập tách nhân khẩu ra khỏi hộ khẩu

Quản lý tổ dân phố

Cho phép một người dùng đã đăng nhập thêm nhân khẩu vào 1 hộ khẩu nào đó

Quản lý tổ dân phố

7 UC007 Thay đổi thông tin nhân khẩu

Cho phép một người dùng đã đăng nhập thêm nhân khẩu vào 1 hộ khẩu nào đó

Quản lý tổ dân phố

8 UC008 Cấp khai báo tạm trú, tạm vắng

Cho phép một người dùng đã đăng nhập cấp tạm trú tạm vắng cho nhân khẩu

Quản lý tổ dân phố

9 UC009 Thống kê theo giới tính, độ tuổi

Cho phép một người dùng đã đăng nhập thống kê thông tin theo giới tính, độ tuổi

Quản lý tổ dân phố

10 UC010 Thống kê theo khoảng thời gian

Cho phép một người dùng đã đăng nhập thống kê thông tin theo khoảng thời gian

Quản lý tổ dân phố

11 UC011 Thống kê tạm trú, tạm vắng

Cho phép một người dùng đã đăng nhập thống kê tạm trú tạm vắng

Quản lý tổ dân phố

12 UC012 Ghi nhận phản ánh

Cho phép một người dùng đã đăng nhập gửi các phản ánh lên cấp trên

Quản lý tổ dân phố

13 UC013 Gộp phản ánh trùng

Cho phép một người dùng đã đăng nhập gộp các phản ánh có cùng

Quản lý tổ dân phố

14 UC014 Thông báo khi có phản hồi

Cho phép một người dùng đã đăng nhập nhận các phản hồi từ cấp trên và thông báo cho người phản ánh

Quản lý tổ dân phố

15 UC015 Thống kê số lượng phản ánh theo trạng thái

Cho phép một người dùng đã đăng nhập thống kê số lượng phản ánh theo trạng thái

Quản lý tổ dân phố

Xác định các quan hệ: người quản lý có trách nhiệm thực thi các nhiệm vụ trong use case, use case đăng nhập là tiền điều kiện bắt buộc để thực hiện các use cáe khác

Biểu đồ use case

2.2.1 Biểu đồ use case tổng quan

Khi bắt đầu chương trình quản lý dân cư, người dùng phải đăng nhập vào hệ thống với username và password đã đăng ký trước đó hoặc được cấp trên cấp phát Sau khi nhập đúng username và password người dùng sẽ được chuyền hướng đến trang chủ của ứng dụng Người dùng có thể thao tác với các chức năng chính như quản lý nhân khẩu, quản lý hộ khẩu, tìm kiếm thông tin, thống kê thông tin và quản lý phản ánh

Sau khi đăng nhập, người dùng có thể xem và cập nhật thông tin cá nhân của mình, và có thể thay đổi thay đổi mật khẩu.

Quản trị viên có thể quản lý người dùng và nhóm người, chức năng và loại chức năng có trong hệ thống Đồng thời, quản trị viên có thể phân nhóm cho người dùng, và phân quyền sử dụng chức năng cho nhóm người dùng Các use case của quản trị viên trong biểu đồ use case tổng quan này là use case phức hợp của một nhóm các use case Chi tiết về các use case phức này được đưa ra trong các biểu đồ phân rã ở phần sau.

2.2.2 Biểu đồ use case phân rã mức 2

Phân rã use case "Quản lý thông tin sổ hộ khẩu."

Tại đây, người dùng có thể tạo mới sổ hộ khẩu với điều kiện bắt buộc là phải nhập đủ các trường yêu cầu, người dân có thể yêu cầu chuyển cả hộ đi nơi khác, thay đổi thông tin hộ khẩu, tách hộ khẩu từ hộ khẩu đã có và người quản lý sẽ xem xét yêu cầu nếu thỏa mãn thì sẽ tiến hành chỉnh sửa

Phân rã use case "Quản lý thông tin nhân khẩu"

Tại đây, người dùng có thể thêm mới nhân khẩu với với điều kiện bắt buộc là phải nhập đủ các trường yêu cầu, người dân có thể yêu cầu thay đổi thông tin của bản thân, xin cấp giấy khai báo tạm vắng, tạm trú và người quản lý sẽ xem xét yêu cầu nếu thỏa mãn thì sẽ tiến hành chỉnh sửa

Phân rã use case "Thống kê thông tin nhân khẩu"

Người quản lý có thể thống kê nhân khẩu theo độ tuổi, theo năm, theo giới tính, thống kê nhân khẩu tạm vắng và tạm trú

Phân rã use case "Quản lý thông tin phản ánh, kiến nghị"

Người dân sẽ viêt đơn phản ánh và người quản lý sẽ xem xét đơn phản ánh có thỏa mãn hay không nếu thỏa mãn thì sẽ tiến hành ghi nhận lại và phân công người đi giải quyết Sau khi đã giải quyết phản ánh thì người quản lý sẽ thông báo cho các bên liên quan và chỉnh sửa trạng thái của phản ánh

Đặc tả use case

Đặc tả use case UC001 “Đăng nhập ”

Mã Use case UC001 Tên Use case Đăng nhập

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng có tài khoản truy cập vào hệ thống

1 Quản lý tổ dân phố chọn chức năng Đăng nhập

2 Hệ thống hiển thị giao diện đăng nhập

3 Quản lý tổ dân phố nhập username và mật khẩu (mô tả phía dưới *)

4 Quản lý tổ dân phố yêu cầu đăng nhập

5 Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc nhập hay chưa

6 Hệ thống kiểm tra username và mật khẩu có hợp lệ do tác nhân nhập trong hệ thống hay không

7 Hệ thống tạo giao diện màn hình chính

Luồng sự kiện thay thế STT Thực hiện bởi

6a Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập nếu người dùng nhập thiếu

7a Hệ thống thông báo lỗi: username và/hoặc mật khẩu chưa đúng nếu không tìm thấy username và mật khẩu trong hệ thống

* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau:

Trường dữ liệu Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ

Có ToiLa12#$ Đặc tả use case UC002 “Tạo mới sổ hộ khẩu”

Mã Use case UC002 Tên Use case Tạo mới sổ hộ khẩu

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập tạo ra một sổ hộ khẩu mới

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút tạo mới hộ khẩu

2 Hệ thống hiển thị giao diện tạo mới hộ khẩu

3 Quản lý tổ dân phố nhập thông tin đầy đủ (thông tin về chủ hộ và các thành viên) (mô tả phía dưới *)

4 Quản lý tổ dân phố nhấn nút xác nhận

5 Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc nhập hay chưa

6 Hệ thống kiểm tra số hộ khẩu có hợp lệ do tác nhân nhập trong hệ thống hay không (số hộ khẩu không được trùng với hộ khẩu đã có)

7 Hệ thống Gọi usecase “Thêm nhân khẩu vào hộ khẩu” và thiết lập thông tin chủ hộ

Luồng sự kiện thay thế STT Thực hiện bởi

6a Hệ th ng thông báo lỗi: Cần nhập các trường bắt buộc nhập nếu người dùng nhập thiếu

7a Hệ thống thông báo lỗi: số hộ khẩu không hợp lệ

Hậu điều kiện Thông tin sổ hộ khẩu mới được lưu vào cơ sở dữ liệu

* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau:

Trường dữ liệu Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ

5 Chủ hộ Không Chủ hộ có thể thiết lập sau Đặc tả use case UC003 "chuyển cả hộ đi nơi khác"

Mã Use case UC003 Tên Use case Chuyển cả hộ đi nơi khác

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập chuyển hộ khẩu đi nơi khác

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút chuyển hộ khẩu

2 Hệ thống hiển thị giao diện các hộ khẩu

3 Quản lý tổ dân phố

4 Quản lý tổ dân phố nhập thông tin chuyển đi nơi khác (mô tả phía dưới *)

5 Quản lý tổ dân phố nhấn nút xác nhận

6 Hệ th ng kiểm tra xem tác nhân đã nhập các trường bắt buộc nhập hay chưa

7 Hệ thống Thông báo thành công và quay lại giao diện chính

Luồng sự kiện thay thế STT Thực hiện bởi

6a Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập nếu người dùng nhập thiếu

Hậu điều kiện Thông tin sổ hộ khẩu được lưu vào cơ sở dữ liệu

*dữ liệu của đầu vào của các thông tin thay đổi hộ khẩu

Trường dữ liệu Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ

3 Ghi chú Không Đặc tả use case UC004 "Thay đổi thông tin cả hộ"

Mã Use case UC004 Tên Use case Thay đổi thông tin cả hộ

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập thay đổi thông tin cả hộ khẩu

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút thay đổi thông tin hộ khẩu

2 Hệ thống hiển thị giao diện các hộ khẩu

3 Quản lý tổ dân phố

4 Quản lý tổ dân phố nhập thông tin thay đổi (mô tả phía dưới *)

5 Quản lý tổ dân phố nhấn nút xác nhận

6 Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc nhập hay chưa

7 Hệ thống Gọi usecase “Thiết lâp thông tin chủ hộ”

Luồng sự kiện STT Thực hiện Hành động thay thế bởi

6a Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập nếu người dùng nhập thiếu a.

Hệ thống thông báo lỗi: Thiếu chủ hộ nếu thay đổi thiếu

Hậu điều kiện Thông tin sổ hộ khẩu được lưu vào cơ sở dữ liệu

*dữ liệu của đầu vào của các thông tin thay đổi hộ khẩu

Trường dữ liệu Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ

3 Ghi chú Không Đặc tả use case UC005"Tách hộ từ hộ khẩu đã có"

Mã Use case UC005 Tên Use case Tách hộ từ hộ khẩu đã có

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập tách nhân khẩu ra khỏi hộ khẩu

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút tách hộ khẩu

2 Hệ thống hiển thị giao diện các hộ khẩu

3 Quản lý tổ dân phố

4 Quản lý tổ dân phố

Chọn nhân khẩu trong hộ khẩu

5 Quản lý tổ dân phố nhấn nút xác nhận

6 Hệ thống Gọi usecase "Tạo sổ hộ khẩu mới" với đầu vào là các nhân khẩu vừa tách

Luồng sự kiện thay thế STT Thực hiện bởi

4a Hệ thống thông báo lỗi nếu chọn chủ hộ

Hậu điều kiện Thông tin sổ hộ khẩu mới và hộ khẩu cũ được lưu vào cơ sở dữ liệu Đặc tả use case UC006"Thêm nhân khẩu"

Mã Use case UC006 Tên Use case Thêm nhân khẩu

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập thêm nhân khẩu vào 1 hộ khẩu nào đó

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút thêm hộ khẩu

2 Hệ thống hiển thị giao diện các hộ khẩu

3 Quản lý tổ dân phố

4 Quản lý tổ dân phố

Nhập thông tin đầy đủ về nhân khẩu mới

5 Quản lý tổ dân phố nhấn nút xác nhận

6 Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc nhập hay chưa

Luồng sự kiện thay thế STT Thực hiện bởi

3a Hệ thống Gọi usecase "Khai sinh"

6a Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập nếu người dùng nhập thiếu

Hậu điều kiện Thông tin sổ hộ khẩu được lưu vào cơ sở dữ liệu

* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau:

T Trường dữ liệu Mô tả

Bắt buộc? Điều kiện hợp lệ Ví dụ

4 Họ và tên Có Nguyễn

6 Ngày tháng năm sinh Có 22/12/2002

10 Nghề nghiệp Có Sinh viên

13 Ngày cấp, nơi cấp Có 9/2020, CA

14 Ngày tháng năm đăng kí thường trú

15 Địa chỉ nơi thường trú trước khi chuyển đến

16 Quan hệ với chủ hộ Có Con ruột Đặc tả use case UC007"Thay đổi thông tin nhân khẩu"

Mã Use case UC007 Tên Use case Thay đổi thông tin nhân khẩu

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập thêm nhân khẩu vào 1 hộ khẩu nào đó

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút thay đổi thông tin nhâ khẩu

2 Hệ thống hiển thị giao diện các hộ khẩu

3 Quản lý tổ dân phố

4 Hệ thống Hiển thị các nhân khẩu trong hộ khẩu

5 Quản lý tổ dân phố

Chọn nhân khẩu cần thay đổi

6 Quản lý tổ dân phố

Nhập thông tin thay đổi

7 Quản lý tổ dân phố nhấn nút xác nhận

8 Hệ thống kiểm tra xem tác nhân đã thay đổi thông tin nào chưa

Luồng sự kiện thay thế STT Thực hiện bởi

6a Hệ thống Gọi usecase "khai tử" hoặc

"chuyển nhân khẩu đi nơi khác" 7a Hệ thống thông báo lỗi: Cần nhập các trường bắt buộc nhập nếu người dùng nhập thiếu

Hậu điều kiện Thông tin sổ hộ khẩu thay đổi được lưu vào cơ sở dữ liệu Đặc tả use case UC008"Cấp khai báo tạm trú, tạm vắng"

Mã Use case UC008 Tên Use case Cấp khai báo tạm trú, tạm vắng

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập cấp tạm trú tạm vắng cho nhân khẩu

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút khai báo tạm trú tạm vắng

2 Hệ thống hiển thị giao diện các hộ khẩu

3 Quản lý tổ dân phố

4 Hệ thống Hiển thị các nhân khẩu trong hộ khẩu

5 Quản lý tổ dân phố

Chọn nhân khẩu cần cấp

6 Quản lý tổ dân phố

Cấp khai báo tạm trú tạm vắng cho nhân khẩu đó

7 Quản lý tổ dân phố nhấn nút xác nhận

8 Hệ thống kiểm tra xem tác nhân đã thay đổi thông tin nào chưa

Luồng sự kiện thay thế STT Thực hiện bởi

6a Hệ thống Gọi usecase "thay đổi thông tin nhân khẩu"

Hậu điều kiện Thông tin sổ hộ khẩu thay đổi được lưu vào cơ sở dữ liệu Đặc tả use case UC009"Thống kê theo giới tính, độ tuổi"

Mã Use case UC009 Tên Use case Thống kê theo giới tính, độ tuổi

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập thống kê thông tin theo giới tính, độ tuổi

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút thống kê nhân khẩu

2 Hệ thống hiển thị giao diện các tiêu chí thống kê

3 Quản lý tổ dân phố

Chọn giới tính-độ tuổi

4 Hệ thống Hiển thị thống kê số lượng nam/nữ, số lượng nhân khẩu trong từng độ tuổi có trong cơ sở dữ liệu

Luồng sự kiện thay thế

Hậu điều kiện Không Đặc tả use case UC010"Thống kê theo khoảng thời gian"

Mã Use case UC010 Tên Use case Thống kê theo khoảng thời gian

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập thống kê thông tin theo khoảng thời gian

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút thống kê nhân khẩu

2 Hệ thống hiển thị giao diện các tiêu chí thống kê

3 Quản lý tổ dân phố

4 Hệ thống Hiển thị thống kê số lượng nhân khẩu có trong cơ sở dữ liệu trong khoảng thời gian được chọn

Luồng sự kiện thay thế STT Thực hiện bởi

3a Hệ thống Thông báo lỗi: cần nhập khoảng thời gian chính xác nếu nhập sai

Hậu điều kiện Không Đặc tả use case UC011"Thống kê tạm trú, tạm vắng"

Mã Use case UC011 Tên Use case Thống kê tạm trú, tạm vắng

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập thống kê tạm trú tạm vắng

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút thống kê nhân khẩu

2 Hệ thống hiển thị giao diện các tiêu chí thống kê

3 Quản lý tổ dân phố

Chọn tạm trú, tạm vắng

4 Hệ thống Hiển thị thống kê thông tin nhân khẩu được cấp tạm trú tạm vắng và thời gian cấp

Luồng sự kiện thay thế

Hậu điều kiện Không Đặc tả use case UC012"ghi nhận phản ánh"

Mã Use case UC013 Tên Use case Ghi nhận phản ánh

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập gửi các phản ánh lên cấp trên

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút ghi nhận phản ánh

2 Hệ thống Tạo phản ánh mới

3 Quản lý tổ dân phố

Nhập các thông tin phản ánh (mô tả phía dưới*)

4 Hệ thống kiểm tra xem tác nhân đã nhập các trường bắt buộc nhập hay chưa

5 Hệ thống quay lại màn hình chính

Luồng sự kiện thay thế STT Thực hiện bởi

5a Hệ thống Tạo phản ánh mới nếu còn phản ánh

Hậu điều kiện Các phản ánh được lưu vào cơ sở dữ liệu

* các thông tin ghi nhận lại khi gộp các phản ánh trùng nhau

Trường dữ liệu Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ

Có Mới ghi nhận Đặc tả use case UC013"gộp phản ánh trùng nhau"

Mã Use case UC013 Tên Use case Gộp phản ánh trùng nhau

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập gộp các phản ánh có cùng nội dung

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút xử lý phản ánh

2 Hệ thống hiển thị các phản ánh

3 Quản lý tổ dân phố

Gộp các phản ánh trùng nội dung

4 Hệ thống Gộp các phản ánh và ghi nhận các thông tin (mô tả phía dưới*)

Luồng sự kiện thay thế

* các thông tin ghi nhận lại khi gộp các phản ánh trùng nhau

Trường dữ liệu Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ

Có 2 Đặc tả use case UC014"thông báo khi có phản hồi"

Mã Use case UC014 Tên Use case Thông báo khi có phản hồi

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập nhận các phản hồi từ cấp trên và thông báo cho người phản ánh

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

2 Hệ thống hiển thị các phản hồi từ cấp trên

3 Quản lý tổ dân phố

Thông báo các phản hồi tới người kiến nghị

Luồng sự kiện thay thế

Hậu điều kiện Không Đặc tả use case UC015"thống kê số lượng phản ánh theo trạng thái"

Mã Use case UC015 Tên Use case Thống kê số

37 lượng phản ánh theo trạng thái

Tác nhân Quản lý tổ dân phố

Mô tả Cho phép một người dùng đã đăng nhập thống kê số lượng phản ánh theo trạng thái

Tiền điều kiện Tác nhân đã đăng nhập thành công

1 Quản lý tổ dân phố

Nhấn nút thống kê phản ánh

2 Hệ thống Thống kê và hiển thị số lượng các phản ánh theo 3 trạng thái: mới ghi nhận, chưa giải quyết, đã giải quyết

Luồng sự kiện thay thế

Hậu điều kiện Số lượng thống kê được lưu vào cơ sở dữ liệu

Các yêu cầu phi chức năng

- Hỗ trợ nhiều người dùng làm việc đồng thời

- Nếu vượt quá người truy cập mà sau đó vẫn có yêu cầu được truy cập thì phải thông báo lỗi cho người dùng

- Giao diện nguời dùng tương thích Windows 7/ Window 10 Thân thiện.

- Hệ thống phải hoạt động liên tục 24 giờ/ngày, 7 ngày/tuần, với thời gian ngừng hoạt động không quá 10%.

- Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất CSDL trung tâm đồng thời bất kỳ lúc nào, và đến 500 người dùng truy xuất các server cục bộ

- Hệ thống phải truy xuất đến CSDL danh mục học phần cũ với độ trễ không quá 10 giây

- Thời gian chuyển trang không quá 2 giây

- Hệ thống phải có khả năng hoàn tất 80% giao dịch trong vòng 2 phút

Các ràng buộc thiết kế

- Hệ thống tích hợp với Hệ thống danh mục học phần có sẵn, một CSDL RDBMS.

- Hệ thống phải cung cấp giao diện dựa Web

PHÂN TÍCH YÊU CẦU

Xác định các lớp phân tích

Phân rã các yêu cầu phức tạp được trình bày trong pha xác định yêu cầu thành các nhân tố chính cùng mối quan hệ giữa chúng để làm cơ sở cho giải pháp được trình bày trong pha thiết kế sau này Kết quả của quá trình phân rã là các lớp phân tích.

Kết quả quá trình phân rã bước đầu của usecase “Đăng nhập”

Kết quả quá trình phân rã bước đầu của usecase “Tạo mới sổ hộ khẩu”

Kết quả quá trình phân rã bước đầu của usecase “Chuyển hộ khẩu đi nơi khác”

Kết quả quá trình phân rã bước đầu của usecase “Thay đổi thông tin hộ khẩu”

Kết quả quá trình phân rã bước đầu của usecase “Tách hộ khẩu”

Kết quả quá trình phân rã bước đầu của usecase “Thêm mới nhân khẩu”

Kết quả quá trình phân rã bước đầu của usecase “Thay đổi thông tin nhân khẩu”

Kết quả quá trình phân rã bước đầu của usecase “Thống kê”

Kết quả quá trình phân rã bước đầu của usecase “Thêm mới phản ánh”

Kết quả quá trình phân rã bước đầu của usecase “Giải quyết phản ánh”

Xây dựng biểu đồ trình tự

Biểu đồ trình tự quá trình “Đăng nhập”

Biểu đồ trình tự quá trình “Tạo mới hộ khẩu”

Biểu đồ trình tự quá trình “Chuyển hộ khẩu đi nơi khác”

Biểu đồ trình tự quá trình “Thay đổi thông tin hộ khẩu”

Biểu đồ trình tự quá trình “Tách hộ khẩu”

Biểu đồ trình tự quá trình “Thêm mới nhân khẩu”

Biểu đồ trình tự quá trình “Thay đổi thông tin nhân khẩu”

Biểu đồ trình tự quá trình “Thống kê”

Biểu đồ trình tự quá trình “Thêm mới phản ánh”

Biểu đồ trình tự quá trình “Giải quyết phản ánh”

Xây dựng biểu đồ thực thể liên kết (ERD)

Mô tả cho các mối quan hệ giữa các đối tượng dữ liệu:

- Nhân khẩu thuộc hộ khẩu hoặc là chủ hộ của một hộ khẩu

- Nhân khẩu khai báo phản ánh

- Nhân khẩu khai báo tạm trú

- Nhân khẩu khai báo tạm vắng

- Nhân khẩu qua đời được người khác khai báo

- Hộ khẩu đính chính thông tin

THIẾT KẾ CHƯƠNG TRÌNH

Thiết kế kiến trúc

Phần mềm được thiết kế theo mô hình MVC: MVC là viết tắt của cụm từ

“Model-View-Controller“ Đây là mô hình thiết kế được sử dụng trong kỹ thuật phần mềm MVC là một mẫu kiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính MVC chia thành ba phần được kết nối với nhau và mỗi thành phần đều có mô ̣t nhiê ̣m vụ riêng của nó và đô ̣c lâ ̣p với các thành phần khác Tên gọi 3 thành phần:

- Model (dữ liệu): Quản lí xử lí các dữ liê ̣u.

- View (giao diện): Nới hiển thị dữ liê ̣u cho người dùng.

- Controller (bộ điều khiển): Điều khiển sự tương tác của hai thành phần Model và View.

- view: chứa file tạo giao diện

- javafx: thư viện tạo giao diện của Java

- main: chứa lớp khởi tạo chương trình

- utitlity: chứa các chức năng hỗ trợc cho chương trình

- controller: chứa lớp điều khiển giao diện

- services: chứa các lớp liên kết và lấy dữ liệu từ cơ sở dữ liệu

- model: chứa lớp mô tả thông tin các thực thể của chương trình

- bean: chứa lớp liên kết giữa một số thực thể

- jdbc: kết nối với Cơ sở dữ liệu

- mySQL: nơi chứa cơ sở dữ liệu

Thiết kế cơ sở dữ liệu

 Sơ đồ quan hệ giữa các bảng:

 Đặc tả thiết kế dữ liệu cho từng bảng:

Tên trường Kiểu dữ liệu Kích thước

ID Int(11) 11 ký tự Khoá chính Số nguyên dương maNhanKhau Varchar(100) 100 ký tự Văn bản hoTen Varchar(100) 100 ký tự Văn bản bietDanh Varchar(100) 100 ký tự Văn bản namSinh Date Ngày tháng năm gioiTinh Varchar(100) 100 ký tự Văn bản noiSinh Varchar(100) 100 ký tự Văn bản nguyenQuan Varchar(100) 100 ký tự Văn bản danToc Varchar(100) 100 ký tự Văn bản tonGiao Varchar(100) 100 ký tự Văn bản quocTich Varchar(100) 100 ký tự Văn bản soHoChieu Varchar(100) 100 ký tự Văn bản noiThuongChu Varchar(100) 100 ký tự Văn bản diaChiHienNay Varchar(100) 100 ký tự Văn bản trinhDoHocVan Varchar(100) 100 ký tự Văn bản trinhDoChuyenMon Varchar(100) 100 ký tự Văn bản bietTiengDanToc Varchar(100) 100 ký tự Văn bản trinhDoNgoaiNgu Varchar(100) 100 ký tự Văn bản ngheNghiep Varchar(100) 100 ký tự Văn bản noiLamViec Varchar(100) 100 ký tự Văn bản tienAn Varchar(100) 100 ký tự Văn bản ngayChuyenDen Date Ngày tháng năm lyDoChuyenDen Varchar(100) 100 ký tự Văn bản ngayChuyenDi Date Ngày tháng

51 năm lyDoChuyenDi Varchar(100) 100 ký tự Văn bản diaChiMoi Varchar(100) 100 ký tự Văn bản ngayTao Date Ngày tháng năm idNguoiTao Int(11) 11 ký tự

Khóa tham chiếu từ bảng users

Số nguyên dương ngayXoa Date Ngày tháng năm idNguoiXoa Int(11) 11 ký tự

Khóa tham chiếu từ bảng users

Số nguyên dương lyDoXoa Varchar(100) 100 ký tự Văn bản ghiChu Varchar(100) 100 ký tự Văn bản

Tên trường Kiểu dữ liệu Kích thước

Ràng buộc toàn vẹn Khuôn dạng Ghi chú

ID Int(11) 11 ký tự Khoá chính Số nguyên dương userName Varchar(100) 100 ký tự Văn bản

Passwd Varchar(100) 100 ký tự Văn bản

Tên trường Kiểu dữ liệu Kích thước

ID Int Khoá chính Số nguyên dương maHoKhau Varchar(100) 100 ký tự Văn bản idChuHo Int Khoá tham chiếu Số nguyên từ bảng

NhanKhau dương maKhuVuc Varchar(100) 100 ký tự Văn bản diaChi Varchar(100) 100 ký tự Văn bản ngayLap Date Ngày tháng năm ngayChuyenDi Date Ngày tháng năm lyDoChuyen Text Văn bản dài Văn bản nguoiThucHien Int Mã tài khoản thêm thông tin

Tên trường Kiểu dữ liệu Kích thước

ID Int Khoá chính Số nguyên dương soGiayKhaiTu Varchar(100) 100 ký tự Văn bản idNguoiKhai Int Khoá tham chiếu từ bảng NhanKhau

Số nguyên dương idNguoiChet int

Khoá tham chiếu từ bảng nhan_khau

Số nguyên dương ngayKhai Date Ngày tháng năm ngayChet Date Ngày tháng năm lyDoChet Varchar(100) 100 ký tự Văn bản

Tên trường Kiểu dữ liệu Kích thước

ID Int Khoá chính Số nguyên dương idHoKhau Int

Khoá tham chiếu từ bảng ho_khau

Số nguyên dương thongTinThayDoi Varchar(100) 100 ký tự Văn bản thayDoiTu Varchar(100) 100 ký tự Văn bản thayDoiThanh Varchar(100) 100 ký tự Văn bản ngayThayDoi Date

Khóa tham chiếu từ bảng nhan_khau

Ngày tháng năm nguoiThayDoi Int Số nguyên dương

Bảng thanh_vien_cua_ho:

Tên trường Kiểu dữ liệu Kích thước

Ghi chú idNhanKhau Int Khoá chính Số nguyên dương idHoKhau Int Khóa chính Số nguyên dương quanHeVoiChuHo Varchar(100) 100 ký tự Văn bản

Tên trường Kiểu dữ liệu Kích thước

Ràng buộc toàn vẹn Khuôn dạng Ghi chú

ID Int Khoá chính Số nguyên dương idNhanKhau Int Số nguyên dương tuNgay Date Ngày tháng năm denNgay Date Ngày tháng năm diaChi Varchar(100) 100 ký tự Văn bản ngheNghiep Varchar(100) 100 ký tự Văn bản noiLamViec Varchar(100) 100 ký tự Văn bản

Tên trường Kiểu dữ liệu Kích thước

ID Int Khoá chính Số nguyên dương idNhanKhau Int Khoá tham chiếu từ bảng NhanKhau

Số nguyên dương soCMT Varchar(12) 12 ký tự Văn bản ngayCap Date Ngày tháng năm noiCap Varchar(100) 100 ký tự Văn bản

Tên trường Kiểu dữ liệu Kích thước

Khoá tham chiếu từ bảng NhanKhau

Số nguyên dương hoTen Varchar(100) 100 ký tự Văn bản namSinh Date

Ngày tháng năm gioiTinh Varchar(100) 100 ký tự Văn bản quanHeVoiNhanKhau Varchar(100) 100 ký tự Văn bản ngheNghiep Varchar(100) 100 ký tự Văn bản diaChiHienTai Varchar(100) 100 ký tự Văn bản

Tên trường Kiểu dữ liệu Kích thước

Số nguyên dương idNhanKhau Int

Khoá tham chiếu từ bảng NhanKhau

Số nguyên dương maGiayTamTru Varchar(100) 100 ký tự Văn bản soDienThoaiNguoiDangKy Varchar(100) 100 ký tự Văn bản tuNgay Date Ngày tháng năm denNgay Date

Ngày tháng năm lyDo Text Văn bản dài Văn bản

Tên trường Kiểu dữ liệu Kích thước

ID Int Khoá chính Số nguyên dương idNhanKhau Int Số nguyên dương maGiayTamVang Varchar(100) 100 ký tự Văn bản noiTamTru Varchar(100) 100 ký tự Văn bản tuNgay Date Ngày tháng năm denNgay Date Ngày tháng năm lyDo Varchar(100) 100 ký tự Văn bản

Thiết kế chi tiết lớp

Chứa các thông tin về sổ hộ khẩu: private int ID; private String maHoKhau; private int idChuHo; private String maKhuVuc; private String diaChi; private Date ngayLap;

Class HoKhauController private Date ngayChuyDi; private String lyDoChuyen; private int nguoiThucHien;

Chứa các thông tin về nhân khẩu: private int ID; private String maNhanKhau; private String hoTen; private String bietDanh; private Date namSinh; private String gioiTinh; private String noiSinh; private String nguyenQuan; private String soCMT; private String danToc; private String tonGiao; private String quocTich; private String soHoChieu; private String noiThuongTru; private String diaChiHienNay; private String trinhDoHocVan; private String trinhDoChuyenMon; private String bietTiengDanToc; private String trinhDoNgoaiNgu; private String ngheNghiep; private String noiLamViec; private String tienAn;

59 private Date ngayChuyenDen; private String lyDoChuyenDen; private Date ngayChuyenDi; private String lyDoChuyenDi; private String diaChiMoi; private Date ngayTao; private int idNguoiTao; private Date ngayXoa; private int idNguoiXoa; private String lyDoXoa; private String ghiChu;

Chứa các thông tin về chứng minh thư: private int ID;

Class NhanKhauController private int idNhanKhau; private String soCMT; private Date ngayCap; private String noiCap;

Chứa các thông tin về đính chính: private int ID; private int idHoKhau; private String thongTinThayDoi; private String thayDoiTu; private String thayDoiThanh; private Date ngayThayDoi; private int nguoiThayDoi;

Chứa các thông tin về gia đình: private int ID; private int idNhanKhau; private String hoTen; private Date namSinh; private String gioiTinh; private String quanHeVoiNhanKhau; private String ngheNghiep; private String diaChiHienTai;

Chứa các thông tin về khai tử: private int ID; private String soGiayKhaiTu; private int idNguoiKhai; private int idNguoiChet; private Date ngayKhai; private Date ngayChet; private String lyDoChet;

Chứa các thông tin về tạm trú: private int ID; private int idNhanKhau; private String maGiayTamTru; private String soDienThoaiNguoiDangKy; private Date tuNgay; private Date denNgay; private String lyDo;

Chứa các thông tin về tạm vắng: private int ID; private int idNhanKhau; private String maGiayTamVang; private String noiTamTru; private Date tuNgay; private Date denNgay; private String lyDo;

Chứa các thông tin về thành viên của hộ: private int idNhanhKhau; private int idHoKhau; private String quanHeVoiChuHo; private String hoTen; private Date namSinh;

Chứa các thông tin về tiểu sử: private int ID; private int idNhanKhau; private Date tuNgay; private Date denNgay; private String ngheNghiep; private String noiLamViec;

Chứa các thông tin về người dùng: private int ID; private String userName; private String password;

Chứa các thông tin về phản ánh: private int ID; private String hoTen; private String noiDung; private String status;

Sơ đồ lớp chi tiết

Thiết kế giao diện

Xây dựng biểu đồ chuyển giữa các giao diện.

Xây dựng mock-up cho màn hình chính của bài toán (casestudy)

Xây dựng mock-up cho màn hình nhân khẩu của bài toán (casestudy)

Xây dựng mock-up cho màn hình hộ khẩu của bài toán (casestudy)

Xây dựng mock-up cho màn hình thống kê của bài toán (casestudy)

Xây dựng mock-up cho màn hình phản ánh của bài toán (casestudy)

69 Đặc tả thiết kế màn hình chính của bài toán (casestudy) Điều khiển Thông tin dữ liệu Loại Thuộc tính

Ghi chú Tiêu đề màn hình

Chứa ảnh đại diện và tên màn hình

Image + text label Hiển thị

Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Quản lý nhân khẩu"

Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Quản lý hộ khẩu"

Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Thống kê"

Kích thước image Font chữ

Khung hiển thị thông tin thống kê nhân khẩu

HIển thị số nhân khẩu có trên địa bàn

Image + text label + text label (số liệu thống kê từ database)

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Phản ánh"

Kích thước image Font chữ

Sự kiện click Đặc tả thiết kế màn hình nhân khẩu của bài toán (casestudy) Điều khiển Thông tin dữ liệu Loại Thuộc tính

Ghi chú Tiêu đề màn hình

Chứa ảnh đại diện và tên màn hình

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Quản lý nhân khẩu"

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Quản lý hộ khẩu"

Hiển thị Kích thước image Font chữ

Nút menu Khi người dùng click sẽ mở Image + Hiển thị

"Thống kê" màn hình "Thống kê" Button Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Phản ánh"

Hiển thị Kích thước image Font chữ

Khung hiển thị thông tin chi tiết của nhân khẩu

Hiển thị thông tin id, họ tên, ngày sinh, giới tính, địa chỉ hiện nay của các nhân khẩu trong hệ thống

Table (số liệu từ database)

Khi người dùng click sẽ mở màn hình "Thêm mới nhân khẩu"

Sự kiện click nút "ĐK tạm vắng"

Khi người dùng click sẽ mở màn hình "Đăng kí tạm vắng"

Khi người dùng click sẽ mở màn hình "Đăng kí tạm trú"

Nút "khai tử" Khi người dùng click sẽ mở màn hình "khai tử"

Sự kiện click Đặc tả thiết kế màn hình hộ khẩu của bài toán (casestudy) Điều khiển Thông tin dữ liệu Loại Thuộc tính

Ghi chú Tiêu đề màn hình

Chứa ảnh đại diện và tên màn hình

Hiển thịKích thước image

Khi người dùng click sẽ mở màn hình "Quản lý nhân khẩu"

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Quản lý hộ khẩu"

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Thống kê"

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Phản ánh"

Hiển thị Kích thước image Font chữ

Khung hiển thị thông tin chi tiết của hộ khẩu

Hiển thị thông tin mã hộ khẩu, tên chủ hộ, địa chỉ hiện nay của các hộ khẩu trong hệ thống

Table (số liệu từ database)

Khi người dùng click sẽ mở màn hình "Thêm mới hộ khẩu"

Sự kiện click nút "Tách HK" Khi người dùng click sẽ mở màn hình "Tách hộ khẩu"

Nút "Chuyển Khi người dùng click sẽ Button Hiển thị

73 đi" mở màn hình "Chuyển hộ khẩu"

Sự kiện click Đặc tả thiết kế màn hình thống kê của bài toán (casestudy) Điều khiển Thông tin dữ liệu Loại Thuộc tính Ghi chú Tiêu đề màn hình Chứa ảnh đại diện và tên màn hình

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình

Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình

Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình

Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Phản ánh"

Kích thước image Font chữ

Khung hiển thị Hiển thị thông Table (số liệu Hiển thị thông tin chi tiết của các nhân khẩu cần thống kê tin chi tiết của các nhân khẩu từ database) Font chữ ô trống Người dùng nhập độ tuổi bắt đầu

Label Hiển thị Cần nhập thông tin là số không âm + cảnh báo và thông báo lỗi nếu nhập sai ô trống Người dùng nhập độ tuổi kết thúc

Label Hiển thị Cần nhập thông tin là số không âm + cảnh báo và thông báo lỗi nếu nhập sai ô trống Người dùng nhập năm bắt đầu

Label Hiển thị Cần nhập thông tin là số không âm + cảnh báo và thông báo lỗi nếu nhập sai ô trống Người dùng nhập năm kết thúc

Label Hiển thị Cần nhập thông tin là số không âm + cảnh báo và thông báo lỗi nếu nhập sai

Nút "Show" Khi người dùng click sẽ hiển thị thông tin thống kê

Nút ‘xuất file’ Khi người dùng click sẽ xuất ra file danh sách nhân khẩu đã thống kê

MenuButton Khi người dùng click sẽ hiện các trường giới tính để chọn

MenuButton Khi người dùng click sẽ hiện các trường

75 Đặc tả thiết kế màn hình phản ánh của bài toán (casestudy) Điều khiển Thông tin dữ liệu Loại Thuộc tính

Ghi chú Tiêu đề màn hinh

Chứa ảnh đại diện và tên màn hình

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Quản lý nhân khẩu"

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Quản lý hộ khẩu"

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Thống kê"

Hiển thị Kích thước image Font chữ

Khi người dùng click sẽ mở màn hình "Phản ánh"

Hiển thị Kích thước image Font chữ

Khung hiển thị thông tin chi tiết cần phản ánh

Hiển thị thông tin danh sách phản ánh từ người dân

Table (số liệu từ database)

Khi người dùng click sẽ mở màn hình ‘’Thêm phản

Font chữ ánh mới ‘’ Sự kiện click

Khi người dùng click sẽ mở màn hình ‘’Danh sách các phản hồi đã được giải quyết’’

Khi người dùng click sẽ mở màn hình’’Danh sách các phản hồi đang chờ duyệt’’

XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA

Thư viện và công cụ sử dụng

Danh sách thư viện và công cụ sử dụng

Mục đích Công cụ Địa chỉ URL

IDE lập trình Eclipse Oxygen 64 bit http://www.eclipse.org/

MySQL connector https://openjfx.io/ https://dev.mysql.com/

Kết quả chương trình minh họa

Sau quá trình phát triển nhóm đã có được kết quả như ý muốn Sản phẩm được hoàn thành là phần mềm hỗ trợ quản lý dân cư Ngoài chức năng hỗ trợ việc quản lý nhân khẩu, hộ khẩu thì phần mềm còn hỗ trợ việc thống kê, phản ánh giúp cho công việc trở lên đơn giản hơn do không phải cần quá nhiều ứng dụng để làm những công việc này như việc phải cần 1 app để quản lý nhân khẩu, hộ khẩu, và 1 app để quản lý việc phản ánh của người dân.

Thông tin về ứng dụng:

- Dung lượng toàn bộ mã nguồn: ~2MB

Giao diện minh hoạ các chức năng của chương trình

 Giao diện trang đăng nhập

 Giao diện quản lý nhân khẩu

 Giao diện thêm mới nhân khẩu

 Giao diện đăng ký tạm vắng

 Giao diện quản lý hộ khẩu

 Giao diện thêm mới hộ khẩu

 Giao diện chọn chủ hộ

 Giao diện chọn thành viên

 Giao diện tách hộ khẩu

 Giao diện chuyển hộ khẩu

 Giao diện thêm mới phản ánh:

 Giao diện xử lý phản ánh:

KIỂM THỬ CHƯƠNG TRÌNH

Kiểm thử các chức năng đã thực hiện

Sử dũng kỹ thuật kiểm thử hộp đen: Tạo bảng quyết định với các trường input (dữ liệu nhập từ bàn phím hoặc click chuột), output (mô tả kết quả đầu ra mong muốn), exception (thể hiện việc bắt các ngoại lệ: không xử lý/xử lý sai/xử lý chuẩn), kết quả (kết quả chạy chương trình có pass hay không) để xây dựng các ca kiểm thử.

6.1.1 Kiểm thử cho chức năng 1

Bảng 1 : Kết quả kiểm thử chức năng Đăng nhập

STT input output Exception Kết quả

Chuyển sang màn hình trang chủ

Thông báo invalid username or password

Thông báo invalid username or password

6.1.2 Kiểm thử cho chức năng 2

Chức năng: Thêm mới nhân khẩu.

Bảng 2 : Kết quả kiểm thử chức năng Thêm mới nhân khẩu.

STT input output Exception Kết quả

1 Họ và tên = Nguyễn văn A

“Thêm mới nhân khẩu thành công”

Nơi thường trú = Nghệ An Địa chỉ hiện tại = Hà Nội

Trình độ ngoại ngữ = Không

Trình độ chuyên môn = Thạc sĩ

Trình độ học vấn = 12/12 chính quy

Biết tiếng dân tộc = Không

Nơi làm việc = công ty ABC

2 Họ và tên = Nguyễn văn A

Nơi thường trú = Nghệ An Địa chỉ hiện tại = Hà Nội

Trình độ ngoại ngữ = Không

Trình độ chuyên môn = Thạc sĩ

Trình độ học vấn = 12/12 chính quy

Biết tiếng dân tộc = Không

Nơi làm việc = công ty ABC

Thông báo “Vui lòng nhập hết các trường bắt buộc”

3 Họ và tên = Nguyễn văn A

Thông báo “Vui lòng nhập hết các trường bắt buộc”

Nơi thường trú = Nghệ An Địa chỉ hiện tại = Hà Nội

Trình độ ngoại ngữ = Không

Trình độ chuyên môn = Thạc sĩ

Trình độ học vấn = 12/12 chính quy

Biết tiếng dân tộc = Không

Nơi làm việc = công ty ABC

4 Họ và tên = Nguyễn văn A

Nơi thường trú = Nghệ An Địa chỉ hiện tại = Hà Nội

Trình độ ngoại ngữ = Không

Trình độ chuyên môn = Thạc sĩ

Trình độ học vấn = 12/12 chính quy

Biết tiếng dân tộc = Không

Nơi làm việc = công ty ABC

Thông báo “Vui lòng nhập hết các trường bắt buộc”

6.1.3 Kiểm thử cho chức năng 3

Chức năng: Đăng kí tạm vắng.

Bảng 3 : Kết quả kiểm thử chức năng Đăng kí tạm vắng

STT input output Exception Kết quả

1 Số CMT = null Thông báo “Vui lòng nhập số CMT”

2 Số CMT = ee Thông báo “Vui lòng nhập đúng định dạng số CMT”

3 Số CMT = 111 Thông báo “Không tìm thấy nhân khẩu trong hệ thống!! Thử lại?”

Mã giấy tạm vắng null

Nơi tạm trú = Hà Nội

Thông báo “Vui lòng nhập đúng chính xác các trường bắt buộc”

Mã giấy tạm vắng null

Nơi tạm trú = Hà Nội

Thông báo “Vui lòng nhập đúng chính xác các trường bắt buộc”

Mã giấy tạm vắng null

Nơi tạm trú = Hà Nội

Từ ngày = abc Đến ngày 08/03/2023

Không có Xử lý chuẩn

Mã giấy tạm vắng HN002

Nơi tạm trú = Hà Nội

Lý do = Đi công tác

Thông báo “Đăng kí tạm vắng thành công”

6.1.4 Kiểm thử cho chức năng 4

Chức năng: Đăng kí tạm trú.

Bảng 4 : Kết quả kiểm thử chức năng Đăng kí tạm trú.

STT input output Exception Kết quả

1 Số CMT = null Thông báo “Vui lòng nhập số CMT”

2 Số CMT = ee Thông báo “Vui lòng nhập đúng định dạng số CMT”

3 Số CMT = 111 Thông báo “Không tìm thấy nhân khẩu trong hệ thống!! Thử lại?”

Mã giấy tạm trú null

Số điện thoại người đăng kí = null

Từ ngày = null Đến ngày = null

Thông báo “Vui lòng nhập đúng chính xác các trường bắt buộc”

Mã giấy tạm trú null

Số điện thoại người đăng kí = xyz

Lý do = Đi du lịch

Thông báo “Vui lòng nhập Số Điện Thoại đúng định dạng!”

Mã giấy tạm trú HN002

Thông báo “Đăng kí tạm trú thành công

Lý do = Đi du lịch

6.1.5 Kiểm thử cho chức năng 5

Bảng 5 : Kết quả kiểm thử chức năng Khai tử.

STT input output Exception Kết quả

1 Số CMT người khai null

Thông báo “Vui lòng nhập số CMT”

2 Số CMT người chết null

Thông báo “Vui lòng nhập số CMT”

3 Số CMT người khai ee

Thông báo “Vui lòng nhập số CMT đúng định dạng”

4 Số CMT người chết ee

Thông báo “Vui lòng nhập số CMT đúng định dạng”

Thông báo “Không tìm thấy nhân khẩu trong hệ thống!! Thử lại?”

Thông báo “Không tìm thấy nhân khẩu trong hệ thống!! Thử lại?”

Số giấy khai tử = null

Thông báo “Vui lòng nhập hết các trường bắt buộc”

Số giấy khai tử HN01

Số giấy khai tử HN02

Thông báo “Khai tử thành công”

6.1.6 Kiểm thử cho chức năng 6

Chức năng: Thêm mới hộ khẩu.

Bảng 6 : Kết quả kiểm thử chức năng Thêm mới hộ khẩu.

STT input output Exception Kết quả

Mã khu vực = TQB Địa chỉ = Hai bà Trưng,

Chủ hộ = Bùi Thị Hà

Quan hệ với chủ hộ con trai

Thông báo “Mã hộ khẩu đã tồn tại”

Mã khu vực = TQB Địa chỉ = Hai bà Trưng,

Chủ hộ = Bùi Thị Hà

Thành viên của hộ: null

Thông báo “Vui lòng nhập hết các trường bắt buộc”

Mã khu vực = TQB Địa chỉ = Hai bà Trưng,

Chủ hộ = Bùi Thị Hà

Quan hệ với chủ hộ con trai

Thông báo “Thêm mới hộ khẩu thành công”

6.1.7 Kiểm thử cho chức năng 7

Chức năng: Tách hộ khẩu.

Bảng 7 : Kết quả kiểm thử chức năng Tách hộ khẩu.

STT input output Exception Kết quả

1 Chủ hộ hiện tại = Nguyễn

Mã khu vực = TN2 Địa chỉ = Thanh Nhàn,

Hai bà Trưng, Hà Nội

Mã hộ khẩu mới = null

Những người ở hộ mới: null

Thông báo “Vui lòng nhập hết các trường bắt buộc”

2 Chủ hộ hiện tại TQB001

Thông báo “Mã hộ khẩu đã tồn

Mã khu vực = TQB Địa chỉ = Hai bà Trưng,

Mã hộ khẩu mới TQB001

Họ tên = Nguyễn Trà My

Quan hệ với chủ hộ = con gái tại”

3 Chủ hộ hiện tại TQB001

Mã khu vực = TQB Địa chỉ = Hai bà Trưng,

Mã hộ khẩu mới TQB001

Họ tên = Nguyễn Trà My

Quan hệ với chủ hộ = con gái

Thông báo “Tách hộ khẩu thành công”

4 Chủ hộ hiện tại TQB001

Mã khu vực = TQB Địa chỉ = Hai bà Trưng,

Mã hộ khẩu mới TQB010

Những người ở hộ mới: null

Thông báo “Tách hộ khẩu thành công”

6.1.8 Kiểm thử cho chức năng 8

Bảng 8 : Kết quả kiểm thử chức năng Chuyển đi.

STT input output Exception Kết quả

Tên chủ hộ = Trinh Văn

Mã khu vực = HN03 Địa chỉ hiện tại = Thanh

Nhàn, Hai bà Trưng, Hà

Nội Địa chỉ chuyển đến = null

Lý do chuyển đi = null

Thông báo “Vui lòng nhập hết các trường bắt buộc”

Tên chủ hộ = Trinh Văn

Mã khu vực = HN03 Địa chỉ hiện tại = Thanh

Nhàn, Hai bà Trưng, Hà

Nội Địa chỉ chuyển đến NGhệ An

Lý do chuyển đi = Công tác lâu năm

Quay lại trang hộ khẩu

6.1.9 Kiểm thử cho chức năng 9

Bảng 9 : Kết quả kiểm thử chức năng Thống kê.

STT input output Exception Kết quả

Thông báo “Vui lòng nhập đúng khoảng độ tuổi”

2 Từ tuổi = abc Đến tuổi = s

Từ năm = zzz Đến năm = ttt

Thông báo “Vui lòng nhập đúng kiểu dữ liệu!!”

3 Từ độ tuổi = 10 Đến độ tuổi = 50

Hiển thị thông tin danh sách tạm trú

Từ năm = null Đến năm = null

Trạng thái = Tạm trú từ 10 – 50 tuổi

4 Từ độ tuổi = null Đến độ tuổi = null

Từ năm = null Đến năm = null

Hiển thị thông tin danh sách nhân khẩu trên địa bàn

6.1.10 Kiểm thử cho chức năng 10

Chức năng: Thêm mới phản ánh.

Bảng 10 : Kết quả kiểm thử chức năng Thêm mới phản ánh.

STT input output Exception Kết quả

Thông báo “Vui lòng nhập hết các trường bắt buộc”

Lý do = Cây xoan đâu đổ giữa đường

Thông báo “Thêm mới phản ánh thành công” và quay lại trang phản ánh, và thêm phản ánh đó vào

6.1.11 Kiểm thử cho chức năng 11

Chức năng: Xử lý phản ánh.

Bảng 11 : Kết quả kiểm thử chức năng Xử lý phản ánh.

STT input output Exception Kết quả

1 Nhấp chuột vào button “Duyệt”

Thay đổi text của button thành “Đã duyệt”

2 Nhấp chuột vào Thay đổi text của button Không xử Ok button “Xóa” thành “Đã xóa” lý

3 Click chuột vào button “Duyệt.”

Nếu button xóa có text là

“Đã xóa” thì chuyển sang thành “Xóa” và Thay đổi text của button duyệt thành “Đã duyệt”

4 Click chuột vào button “Xóa.”

Nếu button duyệt có text là

“Đã duyệt” thì chuyển sang thành “Duyệt” và Thay đổi text của button xóa thành “Đã xóa”

6.1.12 Kiểm thử yêu cầu phi chức năng Đánh giá chương trình: Chương trình chạy tương đối chính xác với các dữ liệu đầu vào không có tính đặc biệt, thời gian phản hồi nhanh Tuy nhiên còn có lỗi nhỏ như các trường dữ liệu chính có thể bị trùng và ảnh hưởng đến kết quả các phần khác

 Tổng có 11 yêu cầu kiểm thử, kết quả pass hầu hết các kiểm thử đặt ra, có một số trường hợp trong các kiểm thử chưa vượt qua:

 chức năng 6: Không qua test 1 vì các hộ khẩu có maHoKhau khác nhau và khi trùng sẽ có lỗi và chương trình chưa xử lý được

 chức năng 7: Không qua test 2 vì các hộ khẩu có maHoKhau khác nhau và khi trùng sẽ có lỗi và chương trình chưa xử lý được

 Chức năng 9: Không qua test 1 vì trường tuTuoi < denTuoi, chương trình không thiết lập trường hợp này và chạy với khoảng bất kỳ

 Chức năng 11: Không qua test 3,4

HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG

Hướng dẫn cài đặt

- Để sử dụng phần mềm cần phải có môi trường chạy Java.

- Ngoài ra có 1 số thư viện thêm đi kèm như: JavaFX, MySQL connector

- Tải về MySQL và 1 công cụ trực quan hóa giúp quan sát cơ sở dữ liệu tốt hơn

Đối tượng, phạm vi sử dụng

- Đối tượng sử dụng phần mềm: tổ trưởng, cán bộ, những đối tượng muốn quản lý dân cư cho các khu phố

- Phạm vi sử dụng phần mềm: dành quản lý dân cư cho những khu phố

Xác định các yêu cầu cài đặt

- Có thư viện javafx, mysql connector

- Hệ điều hành: bất cứ hệ điều hành nào

- Không yêu cầu cấu hình phần cứng cao, dùng được là được

Hướng dẫn chi tiết các bước cài đặt

 Tải về MySQL Server tại https://dev.mysql.com/downloads/mysql/, có thể cài đặt 1 công cụ trực quan hóa để quan sát cơ sở dữ liệu tốt hơn ( ví dụ XAMPP hoặc Workbench) Sau đó import file cơ sở dữ liệu trong thư mục database vào cơ sở dữ liệu.

 Chỉnh sửa trong class service MysqlConnector mật khẩu phù hợp với mật khẩu mà đã được đặt cho MySQL server.

 Tải về thư viện OpenJFX mới nhất tại trang chủ https://gluonhq.com/products/javafx/

 Tải về thư viện MySQL connector từ 8.0 trở lên, có thể tải thư viện tại https://mvnrepository.com/artifact/mysql/mysql- connector-java/8.0.22

 Import tất cả vào thư viện trong Project sau đó bắt đầu chạy.

Hướng dẫn sử dụng phần mềm

o Phần mềm dùng cho tổ trưởng dân phố để quản lý thông tin dân cư trong khu phố Phần mềm có 4 chức năng chính là quản lý nhân khẩu, quản lý hộ khẩu, thống kê, và phản ánh Mỗi chức năng quản lý nhân khẩu, hộ khẩu, phản ánh đều có những chức năng con như thêm, sửa, tìm kiếm thông tin, phần thống kê có chức năng tìm kiếm, lọc thông tin. o Để sử dụng chức năng nào nhấn trực tiếp vào chức năng đó và sử dụng.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết thúc quá trình phát triển phần mềm, đa số đã hoàn thành được những yêu cầu đã đặt ra trước đó của nhóm như là giúp xây dựng một phần mềm quản lý dân cư đơn giản, dễ sử dụng, công khai và minh bạch các thông tin Những chức năng quản lý nhân khẩu, hộ khẩu, thống kê, phản ánh đều hỗ trợ thêm, tìm kiếm thông tin, lọc thông tin, các chức năng đều dễ sử dụng.

Tuy nhiên, do thời gian có hạn nên trong quá trình phát triển cũng còn

1 số phần mà chưa được hợp lý mà chưa thể sửa chữa ngay Trong phần quản lý nhân khẩu, hộ khẩu, phản ánh chưa có phần xóa và chỉnh sửa thông tin trên giao diện Ngoài ra, còn một số lỗi nho nhỏ khác mà nhóm có thể chưa phát hiện ra Phần mềm nếu hoạt động trên các cơ sở dữ liệu lớn thì sẽ bị chậm.

Trong tương lai, nhóm chúng em sẽ cố gắng hoàn thiện phát triển phần mềm để mang lại một phần mềm có trải nghiệm tốt hơn, khắc phục được những nhược điểm bên trên Nếu có điều kiện cho phép về thời gian, nhân lực nhóm có thể phát triển phần mềm thêm nhiều chức năng khác để giúp đơn giản hóa các công việc được thực hiện thủ công rất mệt mỏi và dễ bị nhầm lẫn.

[1] Slide giảng dạy môn “Nhập môn công nghệ phần mềm” do thầy Nguyễn Mạnh Tuấn giảng dạy.

[2] Java Fx Overview (JavaFX 8) (oracle.com)

[3] Usecase diagram https://www.visual-paradigm.com/guide/uml-unified- modeling-language/what-is-use-case-diagram

[4] Sequence diagram UML Sequence Diagram Tutorial | Lucidchart

[5] Entity relation diagram Entity Relationship Diagram (ERD) - What is an

[6] Class diagram What is Class Diagram? (visual-paradigm.com)

Ngày đăng: 21/03/2024, 17:19

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w