summerlant
16-03-2009, 01:15
Hiện nay, đã có chương trình giúp quản lý gia phả rồi nhưng mà giá còn cao lắm, lại không có chức năng vẽ sơ đồ. Mời các bạn đóng góp ý kiến để có thể viết một chương trình tốt hơn, và miễn phí.
Vấn đề 1: Cấu trúc dữ liệu nên dùng.
Sau khi tham khảo ý kiến của bạn john_vn (trong diễn đàn này: http://www.ddth.com/archive/index.php/t-82088.html), tôi thấy nên dùng cây, mỗi nút là 1 người. Liên kết trong cây như sau:
- Cha trỏ đến con trưởng (người không có con thì trỏ về NULL)
- Mỗi người con trỏ về cha và trỏ về người em kế tiếp của mình (con út trỏ về cha và NULL; ông tổ trỏ vê NULL và con trưởng)
Vấn đề 2: Mỗi nút cần chứa những trường nào?
. Mã-số (key)
. Tên cúng cơm
. Tên khai sinh
. Giới tính
. Năm sinh
. Năm mất
. <cha>
. <con trưởng>
. <em kế tiếp>
. Ảnh
. Vợ/Chồng
. Tóm tắt về cuộc đời, sự nghiệp
.......
Câu hỏi đặt ra ở đây là:
1. Phải đặt mã số thế nào để tiện cho việc ghép các cây với nhau? Tức là phả hệ của một dòng họ lớn có thể do nhiều người soạn. Cần phải ghép kết quả của mọi người với nhau.
2. Muốn lưu một số ảnh (số lượng không biết trước) thì lưu thế nào?
3. Một người có thể có nhiều vợ/chồng. Phải lưu thông tin này thế nào?
Vấn đề thứ 3: Lưu trữ dữ liệu
Theo tôi thấy là dữ liệu về toàn bộ cây có thể lưu trong các Cơ Sở Dữ Liệu, cũng có thể lưu dưới dạng file thông thường. Theo ý kiến của các bạn thì nên dùng phương pháp lưu trữ nào? Vì những ưu điểm nào mà bạn chọn cách đó? Cụ thể cách thực hiện ra làm sao?
Vấn đề thứ 4: Xây dựng sơ đồ phả hệ
Theo các bạn thì nên dùng môi trường lập trình nào (hoặc sử dụng công cụ plug-in nào) để có thể vẽ được sơ đồ phả hệ một cách đơn giản nhất?
Ngoài ra, theo bạn, cần phải chú ý những điểm nào trong quá trình xây dựng chương trình này?
Rất mong các bạn tham gia đóng góp ý kiến!
Vấn đề 1: Cấu trúc dữ liệu nên dùng.
Sau khi tham khảo ý kiến của bạn john_vn (trong diễn đàn này: http://www.ddth.com/archive/index.php/t-82088.html), tôi thấy nên dùng cây, mỗi nút là 1 người. Liên kết trong cây như sau:
- Cha trỏ đến con trưởng (người không có con thì trỏ về NULL)
- Mỗi người con trỏ về cha và trỏ về người em kế tiếp của mình (con út trỏ về cha và NULL; ông tổ trỏ vê NULL và con trưởng)
Vấn đề 2: Mỗi nút cần chứa những trường nào?
. Mã-số (key)
. Tên cúng cơm
. Tên khai sinh
. Giới tính
. Năm sinh
. Năm mất
. <cha>
. <con trưởng>
. <em kế tiếp>
. Ảnh
. Vợ/Chồng
. Tóm tắt về cuộc đời, sự nghiệp
.......
Câu hỏi đặt ra ở đây là:
1. Phải đặt mã số thế nào để tiện cho việc ghép các cây với nhau? Tức là phả hệ của một dòng họ lớn có thể do nhiều người soạn. Cần phải ghép kết quả của mọi người với nhau.
2. Muốn lưu một số ảnh (số lượng không biết trước) thì lưu thế nào?
3. Một người có thể có nhiều vợ/chồng. Phải lưu thông tin này thế nào?
Vấn đề thứ 3: Lưu trữ dữ liệu
Theo tôi thấy là dữ liệu về toàn bộ cây có thể lưu trong các Cơ Sở Dữ Liệu, cũng có thể lưu dưới dạng file thông thường. Theo ý kiến của các bạn thì nên dùng phương pháp lưu trữ nào? Vì những ưu điểm nào mà bạn chọn cách đó? Cụ thể cách thực hiện ra làm sao?
Vấn đề thứ 4: Xây dựng sơ đồ phả hệ
Theo các bạn thì nên dùng môi trường lập trình nào (hoặc sử dụng công cụ plug-in nào) để có thể vẽ được sơ đồ phả hệ một cách đơn giản nhất?
Ngoài ra, theo bạn, cần phải chú ý những điểm nào trong quá trình xây dựng chương trình này?
Rất mong các bạn tham gia đóng góp ý kiến!