在法醫(yī)DNA概率統計學中軟件設計至關重要,它和理論分析互為表里。軟件設計是表,是實現目標的工具;理論分析是里,是實現目標的方法。如果缺少理論分析,就難以有針對性地開發(fā)軟件;如果缺少了軟件設計,即使再精妙的理論也不能進入實戰(zhàn)?!斗ㄡt(yī)DNA概率統計學軟件設計與應用》是《法醫(yī)物證概率統計學原理》的姊妹篇。《法醫(yī)物證概率統計學原理》是法醫(yī)DNA概率統計學的開山之作,它針對傳統法醫(yī)DNA概率統計理論中定義模糊、輕視公式推導、無實驗驗證、公式錯誤、輕視概率統計結果、輕視計算機技術等諸多問題進行改進,形成了一整套系統性的修正理論?!斗ㄡt(yī)物證概率統計學原理》主要是提出傳統理論的不足、用實驗驗證公式、建立新理論框架、推導數學公式等,其重點在于數學概率分析。而《法醫(yī)DNA概率統計學軟件設計與應用》是《法醫(yī)物證概率統計學原理》理論的具體實踐,著重點在于法醫(yī)DNA領域的軟件設計?!斗ㄡt(yī)物證概率統計學原理》對軟件部分輕描淡寫,那么軟件如何在法醫(yī)DNA概率統計學中發(fā)揮關鍵作用?計算軟件編程原理為何?算法為何這樣設計?在《法醫(yī)物證概率統計學原理》中,讀者不可能找到答案,而這正是寫作《法醫(yī)DNA概率統計學軟件設計與應用》的原因之一。考慮到絕大多數讀者的計算機軟件基礎情況,筆者選擇簡單易懂的VisualBasic(VB)語言為平臺,從零開始介紹VB軟件設計基礎知識?!斗ㄡt(yī)DNA概率統計學軟件設計與應用》從易到難地介紹基礎平臺構建、公式應用、隨機模擬算法、模擬實驗驗證算法、雙線法、窮舉法等,使讀者對法醫(yī)DNA概率統計學輔助軟件的設計和使用有全面認識。有了這樣的認識和基礎,讀者不僅能對《法醫(yī)物證概率統計學原理》有更高層次的理解,甚至可以舉一反三,自行設計軟件,解決法醫(yī)DNA概率統計學的其他問題。老子日:“授人以魚,不如授人以漁?!蓖ㄟ^《法醫(yī)DNA概率統計學軟件設計與應用》教會讀者如何自行設計和編制輔助軟件,是寫作《法醫(yī)DNA概率統計學軟件設計與應用》的原因之二。在《法醫(yī)物證概率統計學原理》中,部分定義難以獲得數學公式,只能計算窮舉法精確值。例如,在突變雙親皆疑鑒定中,父、母、子三人基因型的排列組合過多,數學模型極為復雜,理論推導出突變雙親皆疑排除率(PEAPT)的數學公式非常困難,更無法通過數學模型計算PEAPT的精確值。筆者放棄推導數學公式,直接以窮舉法計算精確值。顯然,排除率PEAPT的計算方法完全是一種軟件算法,是一段軟件代碼。如果讀者想要理解這一算法的精髓,就必須深入理解軟件編程和算法。隨著法醫(yī)DNA概率統計學面對的問題越來越復雜,將會有更多的定義計算方法無法以數學方式表現出來,而不得不采用軟件代碼的形式。以軟件代碼代替數學公式的方法解決法醫(yī)DNA概率統計學難題,是寫作《法醫(yī)DNA概率統計學軟件設計與應用》的原因之三。