家系図ソフトウェアのサイクル 質問する

家系図ソフトウェアのサイクル 質問する

私は家系図ソフトウェア (C++ と Qt で作成) の開発者です。顧客の 1 人がバグ レポートをメールで送ってくるまでは、何の問題もありませんでした。問題は、その顧客には娘との間に 2 人の子供がおり、その結果、エラーのために私のソフトウェアを使用できないことです。

これらのエラーは、処理される家族グラフに関するさまざまなアサーションと不変条件の結果です (たとえば、サイクルを 1 回実行した後、プログラムは X が Y の父親と祖父の両方になることはできないと示します)。

すべてのデータアサーションを削除せずにこれらのエラーを解決するにはどうすればよいですか?

ベストアンサー1

あなた(および/またはあなたの会社)は、家系図がどのようなものであるべきかについて根本的な誤解をしているようです。

明確にしておきますと、私もポートフォリオに家系図を(製品の 1 つとして)持っている会社で働いており、同様の問題に苦労しています。

私たちの場合、そしておそらくあなたの場合も、問題はゲドコム家族がどうあるべきかについて非常に偏った見解を示す形式です。しかし、この形式には、家系図が実際にどのようなものであるかについての重大な誤解が含まれています。

GEDCOM には、同性間の不適合、近親相姦など、多くの問題があります。現実世界では、このようなことは想像以上に頻繁に起こります (特に 1700 ~ 1800 年代に遡ると)。

私たちは、現実世界で起こる出来事(誕生、結婚、婚約、結婚、死亡、養子縁組など)を家系図にモデル化しました。論理的に不可能なもの(自分の親になることはできない、関係には 2 人の個人が必要であるなど)を除き、これらには何の制限も設けていません。

検証がないため、より「現実的」で、よりシンプルで柔軟なソリューションが得られます。

この特定のケースに関しては、その主張は普遍的に当てはまらないため、削除することをお勧めします。

表示上の問題 (発生する可能性があります) については、同じノードを必要な回数だけ描画し、そのうちの 1 つを選択するとすべてのコピーが点灯して重複を示唆することをお勧めします。

おすすめ記事