【项目背景】:这是一个相当难的课题,很多人花了几千年的时间仍然没有完全搞清楚。在第N(N>1.0e10)次迭代的过程中,重新调整了需求分析和设计。结果如下……
【需求定义】:通过各种因素,计算爱情的结果。
【需求分析】:因素过于复杂,抽象出四种基本因素,定义为爱情=f(因,缘,时机,对方)
其中:
爱情与因:暂且定位随机函数,爱情的产生充满了混沌与不确定性。可能因为优点,也可能因为缺点;可能因为新鲜,也可能因为某种似曾相识的感觉。恐怕只有上帝知道是为什么。
爱情与缘:到底是相濡以沫,还是相忘于江湖,完全身不由己。这部分虚无缥缈,需要进一步分析。
爱情与时机:大体上应该是抛物线。时机太早,可能还没有学会包容与体谅,善待和妥协;时机太晚,又会失去机会,抱憾终生。
爱情与对方:这个关系其实与时间有关,详细的关系参考系统设计
【系统设计】:用伪代码表示的设计结果如下:
Public 结果 Main(因,缘,时机,对方,时间) {
Var 因=Radom();
If(因<0.5)
Return null;
If(false==calculate(缘))
Return null;
If(时机太早 or 时机太晚)
Return null;
If(时间是对的){
If(人是对的)
Return 幸福;
Else
Reutrn 悲伤;
}else{
If(人是对的)
Return 叹息;
Else
Reutrn 无奈;
}
}
【补充说明】:
未完成设计:函数calculate(缘);
计算结果中,有结果的情况大概占1/2*1/2*1/2 = 1/8;
而其中结果为幸福的约占1/8*1/4=1/32=3.125%
可见幸福的爱情占的比例极低,建议取消改系统的研发计划。
(仅仅搞笑,不必当真)