计算器软件概要设计说明书_第1页
计算器软件概要设计说明书_第2页
计算器软件概要设计说明书_第3页
计算器软件概要设计说明书_第4页
计算器软件概要设计说明书_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文档版本密级计算机学院程序设计基础实践所属范围共14页软件纲要设计说明书拟制:日期:PreparedbyDate审查:日期:ReviewedbyDate审查:日期:ReviewedbyDate同意:日期:GrantedbyDate计算机学院程序设计基础实践专用版权所有侵权必究软件纲要设计说明书密级:改正履历标准名:计算器软件纲要设计说明书分类号:改正NO版本号修他日拟订、改正草拟部门作者内容1V1.004.12拟订HDXYHDXY20-5-19版权所有,侵权必究Allrightsreserved第2页,共14页Page2,Total14软件纲要设计说明书密级:目录1前言11.1编写目的11.2背景11.3术语表11.4参照资料12任务概括22.1目标22.2需求概括22.3性能需求22.4条件和限制23整体设计23.1模块构造23.2功能需求与功能模块关系33.3设计观点及流程办理34接口设计84.1数据构造定义84.2接口函数94.3信号、命令和事件列表115犯错办理设计116未解决的问题1120-5-19版权所有,侵权必究Allrightsreserved第3页,共14页Page3,Total14软件纲要设计说明书密级:软件纲要设计说明书前言1.1编写目的此纲要设计说明书对软件的解决方案、功能分派、模块化分、程序的整体构造、输入输出和接口设计、运转设计及犯错设计等方面作了全面的归纳性的说明,为该软件的详尽设计确立了基础。此文档为模块主管、设计人职工作的阶段性总结,并供给软件主设计、设计人员和开发人员参照。1.2背景该项目鉴于展讯(Spreadtrum)平台模拟器开发。为派活力型,中低端型号。按键式操作。屏显为128*160。由XXXX设计开发。1.3术语表MMI:ManMachineInterface人机接口ADD:加法。SUB:减法。MULTI:乘法。DIVIDE:除法。SUM:乞降。EQUAL:等于。1.4参照资料名称作者日期资料根源软件开发计划UI设计规格书计算器操作规程书SPREAD文档20-5-19版权所有,侵权必究Allrightsreserved第1页,共14页Page1,Total14软件纲要设计说明书密级:任务概括2.1目标编写一个程序来实现一个单步运算的算术计算器。经过数组来寄存输入的每一数字或运算符号的记录(包含1、2、3等数字,+、--、*、/等运算符号),而后将其信息存入缓冲BUFFER中。输入一个简单算术计算式,就在屏幕上显示结果。2.2需求概括序号功能名称功能描绘备注1加法加法运算2减法减法运算3乘法乘法运算4除法除法运算5除0运算除0运算提示2.3性能需求无2.4条件和限制因为该终端为中低端,且屏显大小为128X160,为输入数据所有显示,因此计算器输入数据一、输入数据二的位数均设计成14位。整体设计3.1模块构造表记符模块名称模块功能描绘备注1计算器输入办理模键值输入、运算符号输入操作块2计算器运算办理模进行算术运算块3计算器显示模块输入显示、运算结果显示4异样犯错提示模块异样犯错提示界面、如溢犯错误、除0操作、非法运算提示可使用构造图来描绘各模块之间的控制与被控制关系。20-5-19版权所有,侵权必究Allrightsreserved第2页,共14页Page2,Total14软件纲要设计说明书密级:计算器计算器输入计算器显示办理模块模块计算器运算办理模块计算器异样出错提示模块3.2功能需求与功能模块关系无3.3设计观点及流程办理说明本系统的基本设计观点和办理流程,尽量使用图表的形式。技术简介无算法描绘履行基本的加减乘除基本运算。流程剖析使用流程图、次序图或状态图对此模块和其余模块之间,或许模块中各子模块间的交互关系进行详尽说明20-5-19版权所有,侵权必究Allrightsreserved第3页,共14页Page3,Total141、数据输入办理模块计算器界面

软件纲要设计说明书密级:模块初始化初始化s_op_buf[1]为字符串“0”初始化s_op_buf[0]为空初始化s_op_buf[2]为空S_mod=CALC_OP1按键响应办理doCaseS_modeCaseS_mode=CALC_OP1

数字0~9*:小数点、#:位删除操作上方向键:+下方向键:-(除表示减操作,还表示负号)左方向键:X右方向键:/操作模式s_mode:CALC_OP1,CALC_OP2,CALC_RESULT上、下、左、右键

数据输入模块S_op_buf[0]运算符号bufS_op_buf[1]运算数据1s_op_buf[2]运算数据2上、下、左、右方向键Y按向下方向键#键YN#键Y没有响应,持续操作。对s_op_buf[1]中数据进行删除一位处s_op_buf[1]!=“-”S_op_buf[1]==“0”N理,当删除除达成后,假如其数据长度为0,则对s_op_buf[1]初始化办理。Y将运算符号位存入s_op_buf[0]s_mod=CALC_OP2键0键1~~9键0键*键1~9键YYYs_op_buf[1]=="0"S_op_buf[1]!=“0”s_op_buf[1]中无小数点YYY清空s_op_buf[1]将0键值增添到s_op_buf[1]将小数点增添到s_op_buf[1]将相应的数据存入s_op_buf[1]中20-5-19版权所有,侵权必究Allrightsreserved第4页,共14页Page4,Total14软件纲要设计说明书密级:CaseS_mode=CALC_OP2#键*键*键YS_op_buf[2]!=“-”&&s_op_buf[2]中没有小数点Y在输入数据中增添小数点数字键1~~91~9键0键Y0键s_op_buf[2]=="0"

#键Y删除s_op_buf[2]中的一位数据s_op_buf[2]为空Ys_mode=CALC_OP2YY=键清空s_op_buf[2]S_op_buf[2]!=“0”Y将相应的数据存入s_op_buf[2]中=键保留输入的数据到s_op_buf[2]中YS_op_buf[2]==“-”Y进行计算计算ok计算溢出k其余YYYs_mode=CALC_RESULTs_mode=CALC_OP1s_mode=CALC_OP220-5-19版权所有,侵权必究Allrightsreserved第5页,共14页Page5,Total14软件纲要设计说明书密级:CaseS_mode=CALC_RESULT上下左右方向键结果不为负数

N

清空S_op_buf[1][0]==“0”,s_op_buf[1][1[==0S_mode=CALC_OP1Y#键上键下键左键右键YYYYs_op_buf[0][0]='+'S_op_buf[0][0]='-'S_op_buf[0][0]='*'S_op_buf[0][0]='/'0~9、*键YS_mode=CALC_OP1清空s_op_buf,并初始化s_op_buf[1][0]=‘0’0键Y

#键Y清空s_op_buf[1],并初始化s_mode=CALC_OP11~9键Ys_op_buf[1]=="0"

s_mode=CALC_OP2YS_op_buf[1]!=“0”清空s_op_buf[1]Y保留输入的数据到将相应的数据存入s_op_buf[1]中s_op_buf[1]中20-5-19版权所有,侵权必究Allrightsreserved第6页,共14页Page6,Total14软件纲要设计说明书密级:2、数据显示模块计算器显示模块编写框图片显示方向键图片指示输入数据或计算数据显示20-5-19版权所有,侵权必究Allrightsreserved第7页,共14页Page7,Total14软件纲要设计说明书密级:、接口设计4.1数据构造定义typedefenum{CALC_OP1,【定义】CALC_OP2,CALC_RESULT}CALC_MODE_T;【描绘】此为计算器输入操作过程中所处状态的列举种类。【数据项】CALC_OP1//输入数据一和运算操作符CALC_OP2//输入数据二中的其余数据CALC_RESULTtypedefenum{CALC_NO_ERROR,【定义】CALC_DEVIDED_BY_ZERO,CALC_OVERFLOW,CALC_IMAGINARY}CALC_RESULT_T;【描绘】此为计算器计算操作的结果种类。【数据项】CALC_NO_ERROR,运算正确CALC_DEVIDED_BY_ZERO,除0操作CALC_OVERFLOW,数据溢出CALC_IMAGINARY结果为虚数LOCALuint8s_op_buf[3][CALC_MAX_LENGTH+1]【定义】#definedCALC_MAX_LENGTH14【描绘】此为计算器计算操作所用缓冲器。【数据项】s_op_buf[0]运算符s_op_buf[1]运算数据一和计算结果s_op_buf[2]运算数据二LOCALconstuint8s_key_map[CALC_KEY_MAP_LENGTH]={'1',【定义】'2','3','4','5',20-5-19版权所有,侵权必究Allrightsreserved第8页,共14页Page8,Total14软件纲要设计说明书密级:'6','7','8','9','.','0','#',};【描绘】键盘按键键值映照。【数据项】'1',//MSG_KEYDOWN_1,'2',//MSG_KEYDOWN_2,'3',//MSG_KEYDOWN_3,'4',//MSG_KEYDOWN_4,'5',//MSG_KEYDOWN_5,'6',//MSG_KEYDOWN_6,'7',//MSG_KEYDOWN_7,'8',//MSG_KEYDOWN_8,'9',//MSG_KEYDOWN_9,'.',//MSG_KEYDOWN_START,'0',//MSG_KEYDOWN_0,'#',//MSG_KEYDOWN_HASH4.2接口函数列出其余模块要调用的以及此模块中各个子模块之间有交互的所有接口函数【函数原型】LOCALuint8*SearchChar(uint8*i1_text_ptr,int8i2_char)【功能】在一个给定的字符串中查找一个给定的字符【参数】i1_text_ptr:给定的一个字符串。i2_char:给定的一个字符【返回值】假如找到,返回该字符的地点,不然返回NULL.【备注】无【函数原型】LOCALvoidShowCalcError(uint16math_error)【功能】运算犯错信息提示办理【参数】math_error:错误种类。【返回值】无【备注】无【函数原型】LOCALuint16ShowCalcResult(doublet1_dResult,uint16math_error)20-5-19版权所有,侵权必究Allrightsreserved第9页,共14页Page9,Total14软件纲要设计说明书密级:【功能】运算结果办理、显示【参数】t1_dResult:计算结果。math_error:错误种类【返回值】返回错误种类【备注】无【函数原型】LOCALuint16ExecuteFormula(void)【功能】对输入的数据依据四则运算法例进行运算【参数】无。【返回值】运算错误种类【备注】无【函数原型】LOCALBOOLEANFormatFormula(MMI_MESSAGE_ID_Emsg_id)【功能】计算器的按键操作,形成计算器的输入数据一、输入数据二、以及操作符。【参数】msg_id:信息ID,包含数字键、*、#以及四个方向键和确认键。【返回值】该键值被办理,则返回TRUE,不然返回FALSE【备注】无【函数原型】LOCALvoidDisplayCalcFormula(void)【功能】计算器界面显示函数【参数】无。【返回值】无【备注】无LOCALMMI_RESULT_EHandleCalcWinMsg(MMI_WINDOW_ID_Ewin_id,【函数原型】MMI_MESSAGE_ID_Emsg_id,DPARAMparam)【功能】计算器窗口界面主办理函数,主要办理窗口开启、刷新、封闭、以及其余按键操作办理。【参数】win_id:窗口ID。msg_id:信息ID。param:开启窗口附带

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论