Hệ thống mở một biểu mẫu hoặc trang để người dùng nhập thông tin cơbản như tên, ngày tháng năm sinh, nơi cư trú, và các trường liên quan khác.Luồng phát sinh:Người dùng chọn mối quan hệ
Yêu cầu (Requirements)
Đặt vấn đề (Problem statement)
Trong bối cảnh gia đình hiện đại, việc quản lý thông tin gia phả đang gặp nhiều thách thức Khi các gia đình mở rộng với nhiều thế hệ và nhánh khác nhau, việc theo dõi thông tin cá nhân và mối quan hệ trở nên phức tạp. Các phương pháp truyền thống như ghi chép tay hoặc lưu trữ thông tin gia phả trên giấy không còn phù hợp với thời đại kỹ thuật số hiện nay Đồng thời, việc quản lý tài chính chung của gia đình, như chi phí cho các sự kiện hoặc quản lý tài sản, thường thiếu sự minh bạch và tổ chức Tổ chức sự kiện gia đình cũng gặp khó khăn trong việc phân phối thông tin và quản lý khách mời Ngoài ra, việc quản lý quyền truy cập và chỉnh sửa thông tin trong gia đình lớn cũng là một vấn đề, đặc biệt là khi cần bảo vệ thông tin cá nhân và nhạy cảm.
Phần mềm quản lý cây gia phả cần được thiết kế để giải quyết những thách thức này Về quản lý cây gia phả, phần mềm cần cung cấp khả năng tạo và cập nhật thông tin cá nhân một cách dễ dàng, với khả năng trực quan hóa mối quan hệ và tìm kiếm thông tin nhanh chóng Đối với quản lý tài chính, phần mềm nên tích hợp công cụ quản lý tài chính cho phép theo dõi chi tiêu, thu nhập và quản lý tài sản, cùng với việc tạo báo cáo tài chính chi tiết Trong quản lý sự kiện, phần mềm cần cung cấp chức năng lập kế hoạch,thông báo, và quản lý danh sách khách mời, cũng như tích hợp lịch để dễ dàng theo dõi các sự kiện Cuối cùng, đối với quản lý người phân quyền, hệ thống phân quyền linh hoạt, cho phép quản trị viên cấp quyền truy cập và chỉnh sửa cho các thành viên khác dựa trên vai trò và mối quan hệ trong gia đình là cần thiết để đảm bảo bảo mật và quyền riêng tư thông tin.
Thuật ngữ (Glossary)
Family Tree (Cây Gia Phả): Biểu đồ hiển thị mối quan hệ gia đình qua nhiều thế hệ.
Genealogy (Gia phả): là bản kê khai chi tiết về các thế hệ trong một gia đình, theo dõi sự phát triển và mối quan hé gia đình qua các thế hệ
Generation(Thế hệ): Bao gồm các thành viên trong một nhánh của cây gia phả gồm các thành viên sinh ra trong khoảng thời gian gần nhau - Important Event (Sự kiện quan trọng): bao gồm các sự kiện quan trọng của môi thành viên trong dòng họ (Đám cưới).
Family History (Hồ Sơ Gia Phả): Ghi chép về nguồn gốc, quan hệ, và sự kiện lịch sử của gia đình.
Thành Viên (Member): Mỗi người trong gia phả được gọi là một thành viên Thông tin về mỗi thành viên bao gồm tên, ngày sinh, giới tính và các thông tin khác.
Nguồn Gốc (Ancestry): Thông tin về xuất xứ, nguồn cội của gia đình.
Tổ Tiên (Ancestor): Các thành viên ở thế hệ trước, là người đứng đầu của gia phả. Đám Tang (Funeral): Một sự kiện quan trọng thường được ghi chú trong cây gia phả để kỷ niệm người đã qua đời.
Quan Hệ Gia Đình (Family Relationship): Mô tả mối quan hệ giữa các thành viên trong gia đình, chẳng hạn như cha, mẹ, con, anh em, chú bác, đi chủ …
Thông số kỹ thuật bổ sung
1.3.1 Quản lý Thông tin Gia phả:
Thông tin Cá nhân: Tên, ngày sinh, ngày mất, địa chỉ, nghề nghiệp - Quan hệ Gia đình: Cha, mẹ, con, anh chị em, ông bà, chồng, vợ.
Hỗ trợ ảnh: Có thể đính kèm hình ảnh của các thành viên gia đình.
Tài liệu lịch sử: Cung cấp khả năng lưu trữ và quản lý các tài liệu như chứng minh nhân dân, hộ chiếu, văn bản lịch sử.
1.3.3 Lịch sử và Sự kiện:
Nhật ký sự kiện: Ghi chú về các sự kiện quan trọng trong cuộc sống của từng thành viên gia đình.
Lịch sử Gia phả: Hiển thị cây gia phả và tiến triển qua các thế hệ.
1.3.4 Bảo mật và Quản lý Quyền truy cập:
Mô hình quản lý quyền: Cho phép xác định quyền truy cập cho từng thành viên gia đình.
Bảo mật dữ liệu: Đảm bảo an toàn và bảo mật thông tin cá nhân
1.3.5 Tìm kiếm và Lọc thông tin:
Tìm kiếm linh hoạt: Cung cấp công cụ tìm kiếm nhanh và mở rộng.
Lọc thông tin: Cho phép người dùng lọc thông tin gia phả dựa trên nhiều tiêu chí
1.3.6 Đồng bộ và Tương thích: Đồng bộ dữ liệu: Tích hợp khả năng đồng bộ dữ liệu giữa nhiều thiết bị.
Tương thích GEDCOM: Hỗ trợ định dạng GEDCOM để chia sẻ dữ liệu gia phả với các ứng dụng khác.
1.3.7 Báo cáo và Thống kê:
Báo cáo gia phả: Hiển thị thông tin tổng hợp về gia phả.
Thống kê: Cung cấp số liệu và biểu đồ thống kê về thành viên gia đình
Sơ đồ Use-case
Hình 1: Mô hình sơ đồ use- case tổng quát
1.4.2 Mô tả ngắn gọn các tác nhân và các use-case
* Mô Tả Các Tác Nhân :
Hiển Thị Thành Viên Dạng Bảng:
Mô Tả: Xem thông tin thành viên trong một nhóm hoặc tổ chức dưới dạng bảng.
Chức Năng Chi Tiết: Xem, quản lý thông tin thành viên như tên, tuổi, vị trí.
Hiển Thị Cây Gia Phả:
Mô Tả: Xem biểu đồ hoặc hình ảnh về mối quan hệ huyết thống.
Chức Năng Chi Tiết: Theo dõi mối quan hệ gia đình và thế hệ.
Mô Tả: Sắp xếp và hiển thị thông tin thành viên t heo đời.
Chức Năng Chi Tiết: Dễ dàng theo dõi thông tin theo dòng dõi gia đình.
Thống Kê Theo Độ Tuổi:
Mô Tả: Phân loại và thống kê thông tin thành viên dựa trên độ tuổi.
Chức Năng Chi Tiết: Hiểu về phân bố độ tuổi trong nhóm hoặc tổ chức.
Mô Tả: Tạo báo cáo về thu nhập hoặc tiền đóng góp vào một tổ chức.
Chức Năng Chi Tiết: Theo dõi nguồn thu và đánh giá hiệu suất tài chính
Mô Tả: Thêm, sửa đổi, hoặc xóa sự kiện, gắn kết hình ảnh và thông tin chi tiết
Chức Năng Chi Tiết: Kiểm soát và quản lý mọi khía cạnh của sự kiện
Mô Tả: Thiết lập mức thu hằng năm, quản lý danh mục chi, tạo báo cáo thu chi
Chức Năng Chi Tiết: Đảm bảo kiểm soát và hiểu rõ tình hình tài chính
Quản Lý Người Dùng và Phân Quyền:
Mô Tả: Thêm, sửa đổi, xóa người dùng, xác định quyền truy cập.
Chức Năng Chi Tiết: Bảo vệ thông tin và đảm bảo tính bảo mật của hệ thống.
Ghi Lại Nhật Ký Đăng Nhập:
Mô Tả: Theo dõi và ghi lại thông tin đăng nhập của người dùng.
Chức Năng Chi Tiết: Đảm bảo an ninh tài khoản và hệ thống.
Quản Lý Thông Báo và Nhắc Nhở:
Mô Tả: Quản lý thông báo và nhắc nhở từ hệ thống.
Chức Năng Chi Tiết: Đảm bảo người dùng nhận thông tin quan trọng.
* Mô Tả Các Use-Case:
- Quản Lí Cây Gia Phả:
Tạo Thông Tin Dòng Họ:
Mô Tả: Thêm mới thông tin về một dòng họ, bao gồm tên, xuất xứ, và lịch sử.
Chức Năng Chi Tiết: Nhập và lưu thông tin chi tiết của dòng họ.
Mô Tả: Thêm thông tin về một thành viên mới trong gia phả.
Chức Năng Chi Tiết: Nhập và lưu thông tin chi tiết của thành viên.
Sửa Thông Tin Thành Viên:
Mô Tả: Chỉnh sửa thông tin của một thành viên trong gia phả.
Chức Năng Chi Tiết: Chọn thành viên và thực hiện chỉnh sửa.
Hiển Thị Thành Viên Dạng Bảng:
Mô Tả: Xem danh sách thành viên dưới dạng bảng.
Chức Năng Chi Tiết: Xem và quản lý thông tin thành viên.
Mô Tả: Thêm thông tin về một sự kiện mới.
Chức Năng Chi Tiết: Nhập và lưu thông tin chi tiết của sự kiện.
Sửa Thông Tin Sự Kiện:
Mô Tả: Chỉnh sửa thông tin của một sự kiện đã được thêm trước đó.
Chức Năng Chi TiếtChọn sự kiện và thực hiện chỉnh sửa.
Mô Tả: Xem danh sách các sự kiện trong gia đình hoặc theo thành viên cụ thể.
Chức Năng Chi Tiết:Lọc và xem sự kiện theo thời gian hoặc thành viên.
Thiết Lập Mức Thu Hằng Năm:
Mô Tả: Thiết lập mức thu mong muốn từ các nguồn thu khác nhau.
Chức Năng Chi Tiết: Nhập và cập nhật mức thu mong muốn.
Ghi Nhận Thu Hằng Năm:
Mô Tả: Ghi nhận việc thu hằng năm thực tế từ các nguồn thu.
Chức Năng Chi Tiết: Nhập thông tin về mức thu thực tế.
Mô Tả: Tạo báo cáo tổng hợp về tình hình thu chi.
Chức Năng Chi Tiết: Tổng hợp dữ liệu từ báo cáo thu và chi.
- Quản Lí Người Dùng và Phân Quyền:
Mô Tả: Thêm người dùng mới vào hệ thống.
Chức Năng Chi Tiết: Nhập thông tin tài khoản và quyền truy cập.
Mô Tả: Xóa tài khoản người dùng không còn sử dụng.
Chức Năng Chi Tiết:Xác nhận và loại bỏ tài khoản.
Quản Lý Quyền Truy Cập:
Mô Tả: Thiết lập và quản lý quyền truy cập của từng người dùng.
Chức Năng Chi Tiết: Gán quyền truy cập cho từng người dùng.
Đặc tả các Use-case
1.5.1 UC1.1 Tạo thông tin dòng họ
Chức năng "tạo thông tin dòng họ" mô tả quy trình mà người dùng (thường là một thành viên trong gia đình hoặc quản trị viên hệ thống) tạo thông tin mới cho một dòng họ trong ứng dụng cây gia phả Điều này bao gồm việc nhập các chi tiết cơ bản và mở rộng về dòng họ, như tên, lịch sử, thành viên sáng lập, và các thông tin liên quan khác.
1 Người dùng chọn tùy chọn “Tạo Dòng Họ Mới” trong ứng dụng.
2 Hệ thống hiển thị một biểu mẫu để nhập thông tin.
3 Người dùng nhập các thông tin cơ bản như tên dòng họ, ngày thành lập, và thông tin sáng lập viên.
4 Người dùng có thể thêm thông tin chi tiết như lịch sử dòng họ, đặc điểm quan trọng, v.v.
5 Người dùng xác nhận và gửi thông tin.
6 Hệ thống kiểm tra tính hợp lệ của dữ liệu nhập.
7 Hệ thống lưu thông tin dòng họ vào cơ sở dữ liệu.
8 Hệ thống thông báo cho người dùng về việc tạo dòng họ thành công.
Nếu thông tin nhập không hợp lệ hoặc thiếu, hệ thống hiển thị thông báo lỗi và yêu cầu người dùng chỉnh sửa.
Nếu người dùng quyết định hủy bỏ quá trình, tất cả thông tin chưa lưu sẽ bị mất.
Người dùng phải đăng nhập vào hệ thống với quyền hạn đủ để tạo thông tin mới.
Thông tin dòng họ mới sẽ được lưu trữ trong cơ sở dữ liệu và có thể được truy cập và chỉnh sửa sau này.
1.5.2 UC1.2 Thêm mới thành viên
Chức năng Thêm Thành Viên Gia Đình là khả năng của hệ thống hoặc ứng dụng để người dùng có thể nhập và quản lý thông tin về các thành viên trong dòng họ
1 Người dùng bắt đầu chức năng bằng việc chọn tùy chọn "Thêm Thành Viên" từ giao diện người dùng.
2 Hệ thống mở một biểu mẫu hoặc trang để người dùng nhập thông tin cơ bản như tên, ngày tháng năm sinh, nơi cư trú, và các trường liên quan khác.
Người dùng chọn mối quan hệ gia đình với thành viên đã tồn tại hoặc xác định quan hệ với thành viên mới thêm vào.
Chức năng thêm ghi chú và sự kiện:
Người dùng có thể thêm ghi chú và các sự kiện quan trọng như hôn nhân, sinh, mất, để bổ sung thông tin.
Người dùng chọn "Lưu" để lưu thông tin mới thêm và cập nhật cây phả hệ.
Người dùng đăng nhập trước khi thực hiện hệ thống
Sau khi thực hiện thêm mưới một thành viên, thành viên đó sẽ hiển thị trên cây gia phả và các trường khác.
1.5.3 UC1.3 Sửa thông tin thành viên
Chức năng này cho phép người dùng sửa đổi thông tin chi tiết của một thành viên trong cây gia phả Người dùng có thể thực hiện cập nhật các thông tin như tên, ngày sinh, địa chỉ, và các thông tin khác về thành viên trong cây gia phả.
1 Người dùng truy cập cây gia phả và chọn thành viên cần sửa thông tin.
2 Hệ thống hiển thị thông tin chi tiết của thành viên được chọn.
3.Người dùng thực hiện việc cập nhật thông tin cần sửa đổi, như tên, ngày sinh, địa chỉ, v.v.
4 Hệ thống cung cấp giao diện để nhập thông tin mới.
5 Người dùng nhấn nút "Lưu" để xác nhận các thay đổi.
6 Hệ thống kiểm tra tính hợp lệ của thông tin được cập nhật.
7 Nếu thông tin hợp lệ, hệ thống cập nhật dữ liệu và hiển thị thông báo xác nhận.
Nếu người dùng không có quyền sửa thông tin thành viên, hệ thống sẽ hiển thị thông báo lỗi.
Nếu thông tin không hợp lệ, hệ thống sẽ cảnh báo và yêu cầu người dùng nhập lại.
Các thông tin sửa đổi phải tuân theo quy định của hệ thống Ví dụ, tuổi của thành viên không được nhỏ hơn 0 hoặc lớn hơn ngày hiện tại.
Thành viên cần sửa thông tin phải tồn tại trong cây gia phả
Người dùng đã đăng nhập vào hệ thống
Thông tin chi tiết của thành viên đuợc cập nhật thành công
Hệ thống hiển thị thông báo xác nhận sự cập nhật
1.5.4 UC1.4 Hiển thị thành viên dạng bảng
Chức năng này cho phép người dùng xem danh sách thành viên trong cây gia phả dạng bảng, bao gồm các thông tin cơ bản như tên, ngày sinh, ngày mất, giới tính, nghề nghiệp,
1 Người dùng truy cập cây gia phả và chọn tùy chọn xem danh sách thành viên dưới dạng bảng.
2 Hệ thống hiển thị danh sách các thành viên dưới dạng bảng, mỗi hàng là một thành viên và cột là các thông tin cơ bản như tên, ngày sinh, địa chỉ, v.v.
3 Người dùng có thể sử dụng các tùy chọn để lọc và sắp xếp danh sách theo tiêu chí như tên, độ tuổi, mối quan hệ, v.v.
4 Người dùng có thể nhấp vào mỗi hàng để xem thông tin chi tiết của một thành viên cụ thể.
Nếu không có thành viên nào trong cây gia phả, hệ thống sẽ hiển thị thông báo không có dữ liệu.
Nếu có lỗi khi tải danh sách thành viên, hệ thống sẽ cảnh báo và yêu cầu người dùng thử lại.
Người dùng đã đăng nhập vào hệ thống.
Người dùng có thể xem và tìm kiếm thông tin về các thành viên trong cây gia phả dưới dạng bảng một cách thuận tiện.
1.5.5 UC1.5 Hiển thị cây gia phả
Chức năng này cho phép người dùng xem và khám phá cây gia phả của mình thông qua giao diện thân thiện và dễ sử dụng.
1 Chức năng bắt đầu khi người dùng muốn xem cây gia phả của mình.
2 Hệ thống hiển thị cây gia phả, với người dùng ở trung tâm và các thế hệ con cháu mọc ra từ đó.
3 Người dùng có thể nhấp vào một thành viên trong cây gia phả để xem thông tin chi tiết về thành viên đó.
4 Thông tin chi tiết bao gồm tên, ngày sinh, quan hệ gia đình và các sự kiện quan trọng như hôn nhân, sinh con, mất mát.
5 Người dùng có thể di chuyển qua lại giữa các thế hệ bằng cách thực hiện các thao tác như kéo, phóng to, thu nhỏ trên giao diện cây gia phả.
Chức Năng Thêm Mới và Chỉnh Sửa Thông Tin:
Người dùng có thể thêm mới thành viên vào cây gia phả bằng cách nhập thông tin như tên, ngày sinh, quan hệ gia đình và sự kiện quan trọng.
Người dùng cũng có thể chỉnh sửa thông tin của thành viên hiện tại nếu cần thiết.
Chức Năng Hiển Thị Sự Kiện Quan Trọng:
Hệ thống hiển thị biểu đồ hoặc danh sách các sự kiện quan trọng như đám cưới, sinh con, mất mát trên giao diện cây gia phả.
Chức Năng Tìm Kiếm và Lọc Thành Viên:
Người dùng có thể tìm kiếm thành viên cụ thể trong cây gia phả bằng cách nhập thông tin như tên, ngày sinh, quan hệ gia đình.
Hệ thống cũng cung cấp tính năng lọc thành viên dựa trên tiêu chí như quan hệ gia đình, sự kiện.
Chức Năng Xóa Thành Viên Khỏi Cây Gia Phả:
Người dùng có thể xóa thành viên khỏi cây gia phả nếu cần thiết, với sự xác nhận cẩn thận để tránh mất mát thông tin quan trọng.
Người dùng đã đăng nhập vào hệ thống.
Người dùng có thể xem thông tin thành viên và các mỗi quan hệ dưới dạng một cái cây.
1.5.6 UC1.6 Hiển thị theo đời
Chức năng này cho phép người dùng xem cây gia phả theo đời, tức là phân chia và hiển thị thông tin gia đình dựa trên các thế hệ cụ thể Người dùng có thể theo dõi và khám phá các mối quan hệ gia đình trong từng đời, từ người chủ gia đình đến con cháu.
1 Chức năng bắt đầu khi người dùng muốn xem cây gia phả của mình theo từng đời.
2 Hệ thống hiển thị cây gia phả với các thế hệ cụ thể, bắt đầu từ người chủ gia đình ở thế hệ đầu tiên và mọc ra theo các thế hệ con cháu.
3 Người dùng có thể chọn một đời cụ thể để xem và khám phá các thành viên trong đời đó.
Chức Năng Hiển Thị Thông Tin Chi Tiết:
Khi người dùng chọn một đời cụ thể, hệ thống hiển thị thông tin chi tiết về từng thành viên trong đời đó.
Thông tin chi tiết bao gồm tên, ngày sinh, quan hệ gia đình và các sự kiện quan trọng như hôn nhân, sinh con, mất mát.
Chức Năng Di Chuyển Trong Cây Gia Phả:
Người dùng có thể di chuyển giữa các đời bằng cách thực hiện các thao tác như chọn đời cụ thể hoặc sử dụng các nút điều hướng.
Hệ thống cung cấp cách hiển thị rõ ràng và dễ sử dụng để người dùng có thể dễ dàng chuyển đến các thế hệ khác nhau.
Chức Năng Thêm Mới và Chỉnh Sửa Thông Tin:Người dùng có thể thêm mới thành viên vào cây gia phả trong từng đời bằng cách nhập thông tin như tên, ngày sinh, quan hệ gia đình và sự kiện quan trọng.
Người dùng cũng có thể chỉnh sửa thông tin của thành viên hiện tại trong đời nếu cần thiết.
Chức Năng Hiển Thị Sự Kiện Quan Trọng:
Hệ thống hiển thị biểu đồ hoặc danh sách các sự kiện quan trọng như đám cưới, sinh con, mất mát trong từng đời.
Chức Năng Tìm Kiếm và Lọc Thành Viên:
Người dùng có thể tìm kiếm thành viên cụ thể trong đời cụ thể bằng cách nhập thông tin như tên, ngày sinh, quan hệ gia đình.
Hệ thống cung cấp tính năng lọc thành viên dựa trên tiêu chí như quan hệ gia đình, sự kiện trong từng đời.
Chức Năng Xóa Thành Viên Khỏi Cây Gia Phả:
Người dùng có thể xóa thành viên khỏi cây gia phả trong từng đời nếu cần thiết, với sự xác nhận cẩn thận để tránh mất mát thông tin quan trọng.
Chức năng Hiển Thị Cây Gia Phả Theo Đời mang lại trải nghiệm toàn diện và tiện ích cho người dùng, giúp họ khám phá và hiểu rõ cây gia phả của mình dựa trên từng đời một cách thuận tiện và chi tiết.
Người dùng đã đăng nhập vào hệ thống.
Người dùng có thể xem thông tin thành viên trong gia đình theo đời
1.5.7 UC1.7 Thống kê theo độ tuổi
Chức năng này cho phép người dùng tạo tổng quan thống kê về các thành viên trong gia đình dựa trên độ tuổi của họ, cung cấp thông tin chi tiết về sự phân bổ độ tuổi trong cây gia phả Người dùng truy cập tính năng này thông qua mục “Thống kê theo độ tuổi”.
1 Người dùng bắt đầu quá trình bằng cách điều hướng đến phần "Thống kê theo tuổi".
2 Hệ thống truy xuất và hiển thị bản tóm tắt các nhóm tuổi có trong cây gia phả, cùng với số lượng thành viên tương ứng trong mỗi nhóm.
3 Người dùng có thể chọn đi sâu vào các nhóm tuổi cụ thể để xem danh sách chi tiết các thành viên gia đình trong phạm vi đó
4 Nếu không có thành viên gia đình nào trong hệ thống, một thông báo thích hợp sẽ hiển thị và người dùng sẽ được thông báo rằng không có dữ liệu thống kê theo độ tuổi.
Người dùng phải đăng nhập vào hệ thống trước khi bắt đầu phân tích thống kê theo độ tuổi.
Nếu thành công, hệ thống hiển thị tóm tắt phân bổ độ tuổi Nếu không, trạng thái hệ thống vẫn không thay đổi.
1.5.8 UC2.1 Thiết Lập Mức Thu Hằng Năm
Giao diện minh họa
1.6.1 Giao diện minh họa cho UC1.1 Tạo thông tin dòng họ
Hình 1.1.1 Giao diện tạo thông tin dòng họ
Hình 1.1.2 Giao diện thông báo tạo thông tin dòng họ thành công
Hình 1.1.3 Giao diện thông báo ý kiến muốn tạo thông tin dòng họ không
1.6.2 Giao diện minh họa cho UC1.2 Thêm mới thành viên
Hình 1.2.1 Giao diện thêm mới thành viên
Hình 1.2.2 Giao diện thông báo thêm một thành viên thành công
1.6.3 Giao diện minh họa cho UC1.3 Sửa thông tin thành viên
HÌnh 1.3.1 Giao diện thêm mới thông tin thành viên
Hình 1.3.2 Giao diện thông báo muốn lưu thông tin thành viên
HÌnh 1.3.3 Giao diện thông báo lưu thông tin thành công
1.6.4 Giao diện minh họa cho UC1.4 Hiển thị thành viên dạng bảng
Hình 1.4 Giao diện hiển thị danh dách thành viên dạng bảng
1.6.5 Giao diện minh họa cho UC1.5 Hiển thị cây gia phả
Hình 1.5.1 Giao diện hiển thị danh sách thành viên theo sơ đồ cây
Hình 1.5.2 Giao diện xem thông tin thành viên
1.6.6 Giao diện minh họa cho UC1.6 Hiển thị theo đời
1.6.7 Giao diện minh họa cho UC1.7 Thống kê theo độ tuổi
Hình 1.7 Giao diện thống kê thành viên theo độ tuổi
1.6.8 Giao diện minh họa cho UC2.1 Thiết lập mức thu hằng năm
Hình 2.1.1 Giao diện xác nhận thiết lập mức thu hằng năm
Hình 2.1.2 Giao diện thông báo không hợp lệ về thiết lập mức thu hằng năm
1.6.9 Giao diện minh họa cho UC2.2 Ghi nhận thu theo định mức
Hình 2.2.1 Giao diện xác nhận ghi nhận thu theo định mức
Hình 2.2.2 Giao diện thông báo không hợp lệ về ghi nhận thu theo định mức
1.6.10 Giao diện minh họa cho UC2.3 Ghi nhận ủng hộ
Hình 2.3 Giao diện ghi nhận ủng hộ 1.6.11 Giao diện minh họa cho UC2.4 Báo cáo thu
Hình 2.5 Giao diện báo cáo thu
1.6.12 Giao diện minh họa cho UC2.5 Quản lí danh mục chi
Hình 2.5.1 Giao diện quản lí danh mục chi
Hình 2.5.2 Giao diện xác nhận xóa quản lí danh mục chi
1.6.13 Giao diện minh họa cho UC2.6 Ghi nhận giao dịch chi
Hình 2.6.1 Giao diện ghi nhận giao dịch chi
HÌnh 2.6.2 Giao diện xác nhận xóa của ghi nhận giao dịch chi
1.6.14 Giao diện minh họa cho UC2.7 Báo cáo chi
HÌnh 2.7.1 Giao diện báo cáo chi
Hình 2.7.2 Giao diện xác nhận báo cáo chi
1.6.15 Giao diện minh họa cho UC2.8 Báo cáo thu chi
Hình 2.8.1 Giao diện báo cáo thu chi
HÌnh 2.8.2 Giao diện xác nhận báo cáo thu chi
1.6.16 Giao diện minh họa cho UC3.1 Thêm sự kiện
Hình 3.1 Giao diện thêm sự kiện
Hình 3.2 Giao diện xác nhận thêm sự kiện
1.6.17 Giao diện minh họa cho UC3.2
Hình 3.2 Giao diện báo cáo sự kiện 1.6.18 Giao diện minh họa cho UC3.3
Hình 3.3 Giao diện sửa thông tin sự kiện
1.6.19 Giao diện minh họa cho UC3.4
Hình 3.4 Giao diện hiển thị sự kiện 1.6.20 Giao diện minh họa cho UC3.5
HÌnh 3.5 Giao diện tìm kiếm sự kiện
1.6.21 Giao diện minh họa cho UC4.1 Đăng nhập
Hình 4.1.1 Giao diện đăng nhập
Hình 4.1.2 Giao diện thông báo mật khẩu không hợp lệ
Hình 4.1.3 Giao diện đăng nhập nhập sai mật khẩu
Hình 4.1.4 Giao diện đổi mật khẩu
Hình 4.1.5 Giao diện xác nhận đổi mật khẩu
1.6.22 Giao diện minh họa cho UC4.2
Hình 4.2.1 Giao diện đăng ký
Hình 4.2.2 Giao diện thông báo đăng ký tài khoản đã tồn tại
Hình 4.2.3 Giao diện thông báo đăng ký tài khoản không hợp lệ
Phân tích trường hợp sử dụng (Use-case analysis)
Các sơ đồ lớp (Class diagrams)
Hình 2.1.1.1 Sơ đồ lớp cho chức năng tạo thông tin dòng họ
Hình 2.1.1.2 Sơ đồ lớp cho chức năng thêm mới thành viên
Hình 2.1.1.3 Sơ đồ lớp cho chức năng sửa thông tin thành viên
Hình 2.1.1.4 Sơ đồ lớp cho chức năng hiển thị thành viên dòng họ dạng bảng
Hình 2.1.1.5 Sơ đồ lớp cho chức năng hiển thị cây gia phả
Hình 2.1.1.6 Sơ đồ lớp cho chức năng Thống kê theo đời
Hình 2.1.1.7 Sơ đồ lớp cho chức năng Thống kê theo độ tuổi
Hình 2.1.1.8 Sơ đồ lớp cho chức năng Thiết lập định mức thu hằng năm
Hình 2.1.1.9 Sơ đồ lớp cho chức năng Ghi nhận thu hằng năm
Hì nh 2.1.1.10 Sơ đồ lớp cho chức năng Ghi nhận mức ủng hộ
Hình 2.1.1.11 Sơ đồ lớp cho chức năng Báo cáo thu
Hình 2.1.1.12 Sơ đồ lớp cho chức năng Quảm lý danh mục chi
Hình 2.1.1.13 Sơ đồ lớp Ghi nhận giao dịch chi cho chức năng
Hình 2.1.1.14 Sơ đồ lớp cho chức năng Báo cáo chi
Hình 2.1.1.15 Sơ đồ lớp cho chức năng Báo cáo thu chi
Các sơ đồ tuần tự (Sequence diagrams)
Hình 2.1.2.1 Sơ đồ tuần tự cho chức năng Tạo thông tin dòng họ
Hình 2.1.2.2 Sơ đồ tuần tự cho chức năng Thêm mới thành viên
Hình 2.1.2.3 Sơ đồ lớp cho chức năng Sửa thông tin thành viên
Hình 2.1.2.4 Sơ đồ tuần tự cho chức năng Hiển thị thành viên dạng bảng
Hình 2.1.2.5 Sơ đồ tuần tự cho chức năng Hiển thị cây gia phả
Hình 2.1.2.6 Sơ đồ tuần tự cho chức năng Thống kê theo đời
Hình 2.1.2.7 Sơ đồ tuần tự cho chức năng Thống kê theo đời
Hình 2.1.2.8 Sơ đồ tuần tự cho chức năng Thiết lập mức thu hằng năm
Hình 2.1.2.9 Sơ đồ tuần tự cho chức năng Ghi nhận mức ủng hộ
Hình 2.1.2.10 Sơ đồ tuần tự cho chức năng Ghi nhận thu hằng năm
Hình 2.1.2.11 Sơ đồ tuần tự cho chức năng Báo cáo thu
Hình 2.1.2.12 Sơ đồ tuần tự cho chức năng Quản lí danh mục chi
Hình 2.1.2.13 Sơ đồ tuần tự cho chức năng Ghi nhận giao dịch chi
Hình 2.1.2.14 Sơ đồ tuần tự cho chức năng Báo cáo chi
Hình 2.1.2.15 Sơ đồ tuần tự cho chức năng Báo cáo thu chi
Thiết kế (Use-case design)
Xác định các thành phần thiết kế (Identify design elements)
3.1.1 Xác định các lớp (Identify classes)
Hình 3.1.1.1 Sơ đồ phân tích lớp của chức năng quản lý, đăng xuất
Hình 3.1.1.2 Sơ đồ phân tích lớp của chức năng quản lý cây gia phả
Hình 3.1.1.3 Sơ đồ phân tích lướp của chức năng quản lí tài chính
HÌnh 3.1.1.4 Sơ đồ phân tích lớp cho chức năng thêm sự kiện
HÌnh 3.1.1.5 Sơ đồ phân tích lớp cho chức năng báo cáo sự kiện
HÌnh 3.1.1.6 Sơ đồ phân tích lớp cho chức năng sửa thông tin sự kiện
HÌnh 3.1.1.7 Sơ đồ phân tích lớp cho chức năng hiển thị sự kiện
HÌnh 3.1.1.8 Sơ đồ phân tích lớp cho chức năng tìm sự kiện
3.1.2 Xác định các hệ thống con và giao diện (Identify subsystems and interfaces)
3.1.3 Xác định các gói (Identify packages)
Thiết kế trường hợp sử dụng (Use-case design)
3.2.1 Thiết kế các biểu đồ tuần tự (Design sequence diagrams)
3.2.2 Thiết kế biểu đồ lớp (Class diagrams)
Thiết kế cơ sở dữ liệu (Database design)
3.3.1 Lược đồ cơ sở dữ liệu
Cài đặt
Lựa chọn công nghệ
PHP, viết tắt của "PHP: Hypertext Preprocessor", là một ngôn ngữ lập trình kịch bản phía máy chủ (server-side scripting language) phát triển bởi Rasmus Lerdorf vào năm 1994 Với mục đích ban đầu là tạo ra các trang web động, PHP đã phát triển thành một công cụ mạnh mẽ cho việc phát triển ứng dụng web tương tác.
Ngày nay, PHP là một trong những ngôn ngữ lập trình web phổ biến nhất trên thế giới, được sử dụng rộng rãi cho các dự án web với mọi quy mô từ nhỏ đến lớn Điều này là do PHP có tính linh hoạt cao, dễ học và sử dụng, đồng thời có một cộng đồng lớn và tích cực hỗ trợ.
Trong quá trình phát triển, PHP đã trải qua nhiều phiên bản, mỗi phiên bản đều mang lại nhiều tính năng mới và cải thiện hiệu suất Tính đến thời điểm hiện tại, PHP 8 là phiên bản mới nhất với nhiều cải tiến đáng chú ý.
Cấu trúc cơ bản của một ứng dụng PHP bao gồm các yếu tố như khởi tạo và kết thúc mã PHP, câu lệnh xuấ63…t ra, biến và kiểu dữ liệu, câu lệnh điều kiện và vòng lặp, hàm và phạm vi biến, cũng như kết nối cơ sở dữ liệu. Những yếu tố này là nền tảng để xây dựng các ứng dụng web PHP phong phú và linh hoạt.
Bên cạnh đó, để phát triển ứng dụng PHP một cách hiệu quả, các công cụ và tài nguyên hỗ trợ đóng vai trò quan trọng Các framework như Laravel,Symfony, CodeIgniter cung cấp cơ sở và cấu trúc cho việc phát triển ứng dụng, trong khi Composer là một công cụ quản lý thư viện giúp quản lý các phụ thuộc của dự án một cách dễ dàng.
HTML (HyperText Markup Language) là ngôn ngữ đánh dấu được sử dụng để tạo cấu trúc và định dạng nội dung trên trang web HTML sử dụng các thẻ để mô tả cấu trúc của trang, bao gồm tiêu đề, đoạn văn bản, hình ảnh, liên kết, biểu mẫu, và nhiều phần khác.
HTML giúp định dạng văn bản trong trang Web nhờ các thẻ Hơn nữa, các thẻ html có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên Internet Đa số các thẻ HTML có dạng thẻ đóng mở Thẻ đóng dùng chung từ lệnh giống như thẻ mở, nhưng thêm dấu xiên phải (/) Ngôn ngữ HTML quy định cú pháp không phân biệt chữ hoa chữ thường Ví dụ, có thể khai báo hoặc Không có khoảng trắng trong định nghĩa thẻ.
4.1.2.1 Cấu trúc chung của một trang HTML
Tiêu đề của trang Web
4.1.2.2 Các thẻ HTML cơ bản
1 Thẻ : Tạo đầu mục trang
2 Thẻ : Tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt buộc Thẻ title cho phép bạn trình bày chuỗi trên thanh tựa đề của trang Web mỗi khi trang Web đó được duyệt trên trình duyệt Web.
3 Thẻ : Tất cả các thông tin khai báo trong thẻ
đều có thể xuất hiện trên trang Web Những thông tin này có thể nhìn thấy trên trang Web.
4 Các thẻ định dạng khác Thẻ
…
:Tạo một đoạn mới Thẻ: Thay đổi phông chữ, kích cỡ và màu kí tự…
5 Thẻ định dạng bảng …: Đây là thẻ định dạng bảng trên trang Web Sau khi khai báo thẻ này, bạn phải khai báo các thẻ hàng
và thẻ cột cùng với các thuộc tính của nó.
6 Thẻ hình ảnh : Cho phép bạn chèn hình ảnh vào trang Web. Thẻ này thuộc loại thẻ không có thẻ đóng.
7 Thẻ liên kết : Là loại thẻ dùng để liên kết giữa các trang Web hoặc liên kết đến địa chỉ Internet, Mail hay Intranet(URL) và địa chỉ trong tập tin trong mạng cục bộ (UNC).
8 Các thẻ Input: Thẻ Input cho phép người dùng nhập dữ liệu hay chỉ thị thực thi một hành động nào đó, thẻ Input bao gồm các loại thẻ như: text, password, submit, button, reset, checkbox, radio, image.
9 Thẻ Textarea: < Textarea> < ¥Textarea>: Thẻ Textarea cho phép người dùng nhập liệu với rất nhiều dòng Với thẻ này bạn không thể giới hạn chiều dài lớn nhất trên trang Web.
10 Thẻ Select: Thẻ Select cho phép người dùng chọn phần tử trong tập phương thức đã được định nghĩa trước Nếu thẻ Select cho phép người dùng chọn một phần tử trong danh sách phần tử thì thẻ Select sẽ giống như combobox Nếu thẻ Select cho phép người dùng chọn nhiều phần tử cùng một lần trong danh sách phần tử, thẻ Select đó là dạng listbox.
11 Thẻ Form: Khi muốn submit dữ liệu người dùng nhập từ trang Web phía Client lên phía Server, có hai cách để làm điều này ứng với hai phương thức POST và GET trong thẻ form Trong một trang Web có thể có nhiều thẻ Form khác nhau, nhưng các thẻ Form này không được lồng nhau, mỗi thẻ form sẽ được khai báo hành động (action) chỉ đến một trang khác.
CSS (Cascading Style Sheets) là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML) Nếu HTML đóng vai trò định dạng xương sống cho các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,… thì CSS sẽ giúp lập trình viên có thể tăng tính thẩm mỹ cho các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi bố cục,…
Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn có thể là tên một thẻ (tag) HTML, một id, class hay kết hợp của cả ba kiểu chọn Sau đó là nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó.
Cấu trúc mã nguồn
- Controllers: Chứa các controllers điều hướng và xử lý các yêu cầu từ người dùng.
- Models: Chứa các lớp mô hình hóa dữ liệu như FamilyMember và FamilyTree.
- Views: Chứa các giao diện người dùng được hiển thị.
- DataAccess: Chứa các lớp định nghĩa truy xuất dữ liệu từ cơ sở dữ liệu, ví dụ như FamilyMemberRepository và FamilyTreeRepository.