文档介绍::..\IA^r-口口计昇詣详细设计说明书版本1・0作者:完成日期:2009-10-31引言1-1编写目的该软件详细设计说明书主要是为设计“计算器程序”而编写的详细设计分析,主要给出该软件总体设计架构、包含的模块、设计的思想、每个模块的详细设计原理等信息,从而正确实现软件的编写,并且方便了以后的测试、管理和改进。“计算器程序”。该软件将完成一般的计算操作:加减乘除四则运算、开方、求倒数、百分数,以及数据的存储操作。对于更高级的科学运算,如sin、cos等暂不实现。由于程序较小,开发将由本人独立完成,暂时没有期望的用户群体。2程序系统的结构程序结构从整体上可以大致分为3个部分,如表I所示。表1程序整体模块划分模块标示符说明输入数值Numberlnput通过数字、小数点按键输入一个数值输入双目操作符DoubleOptlnput输入+-*/%等双目运算符进行运算输入单目操作符SingleOptlnput输入sqrt、1/x等单目运算符进行运算,包括MR、。。,可以有三种输入数据格式:①整数:如45,123,1000等。②纯小数:,,,。③含有整数部分的小数:,,。在以上情况下,对于数字0要有正确的处理方式,如果在输入整数的情况下,00123这样的整数是不能存在的,12000这样的整数是正确存在的。在输入小数的情况下,。程序需要能正确处理这三种数据,这也是测试的依据。。主要运算是加减乘除、百分号运算。。双目运算的根木形式是:N1optN2=ResultoNl、N2是两个操作数,opt是双目运算符。其中详细的情况如下。•程序初始状态SO时,双FI运算的两个操作数Nl=N2=0。*状态变迁路径1:SO->S(Numl)->S(双opt)->S(Num2)->S(=)。这是一般的计算过程,即25+3=28,*9=,-80=-,12/8=。*状态变迁路径2:SO->S(Numl)->S(双opt)->S(=)。该情况下,相当于Num2=Numlo即25+=50,3*二9,14-=0,5/二1。*状态变迁路径3:SO->S(Numl)->S(双opt)->S(Num2)->S(=)->S(=)->S(=).…。如12+3二二==24,就是12连续加了3四次。2*3==18,就是2连续乘了3两次。*状态变迁路径4:SO・>S(Numl)->S(双opt)->S(Num2)->S(双opt)->S(Num3)->S(=)o这是一-般的连续运算,即12+3*2二30。在这里计算顺序是按照输入的顺序计算的,与操作符自身的优先级无关。*状态变迁路径5:SO->S(Nu