在法医DNA概率统计学中软件设计至关重要,它和理论分析互为表里。软件设计是表,是实现目标的工具;理论分析是里,是实现目标的方法。如果缺少理论分析,就难以有针对性地开发软件;如果缺少了软件设计,即使再精妙的理论也不能进入实战。《法医DNA概率统计学软件设计与应用》是《法医物证概率统计学原理》的姊妹篇。《法医物证概率统计学原理》是法医DNA概率统计学的开山之作,它针对传统法医DNA概率统计理论中定义模糊、轻视公式推导、无实验验证、公式错误、轻视概率统计结果、轻视计算机技术等诸多问题进行改进,形成了一整套系统性的修正理论。《法医物证概率统计学原理》主要是提出传统理论的不足、用实验验证公式、建立新理论框架、推导数学公式等,其重点在于数学概率分析。而《法医DNA概率统计学软件设计与应用》是《法医物证概率统计学原理》理论的具体实践,着重点在于法医DNA领域的软件设计。《法医物证概率统计学原理》对软件部分轻描淡写,那么软件如何在法医DNA概率统计学中发挥关键作用?计算软件编程原理为何?算法为何这样设计?在《法医物证概率统计学原理》中,读者不可能找到答案,而这正是写作《法医DNA概率统计学软件设计与应用》的原因之一。考虑到绝大多数读者的计算机软件基础情况,笔者选择简单易懂的VisualBasic(VB)语言为平台,从零开始介绍VB软件设计基础知识。《法医DNA概率统计学软件设计与应用》从易到难地介绍基础平台构建、公式应用、随机模拟算法、模拟实验验证算法、双线法、穷举法等,使读者对法医DNA概率统计学辅助软件的设计和使用有全面认识。有了这样的认识和基础,读者不仅能对《法医物证概率统计学原理》有更高层次的理解,甚至可以举一反三,自行设计软件,解决法医DNA概率统计学的其他问题。老子日:“授人以鱼,不如授人以渔。”通过《法医DNA概率统计学软件设计与应用》教会读者如何自行设计和编制辅助软件,是写作《法医DNA概率统计学软件设计与应用》的原因之二。在《法医物证概率统计学原理》中,部分定义难以获得数学公式,只能计算穷举法精确值。例如,在突变双亲皆疑鉴定中,父、母、子三人基因型的排列组合过多,数学模型极为复杂,理论推导出突变双亲皆疑排除率(PEAPT)的数学公式非常困难,更无法通过数学模型计算PEAPT的精确值。笔者放弃推导数学公式,直接以穷举法计算精确值。显然,排除率PEAPT的计算方法完全是一种软件算法,是一段软件代码。如果读者想要理解这一算法的精髓,就必须深入理解软件编程和算法。随着法医DNA概率统计学面对的问题越来越复杂,将会有更多的定义计算方法无法以数学方式表现出来,而不得不采用软件代码的形式。以软件代码代替数学公式的方法解决法医DNA概率统计学难题,是写作《法医DNA概率统计学软件设计与应用》的原因之三。