3计算器软件概要设计说明书.docx
《3计算器软件概要设计说明书.docx》由会员分享,可在线阅读,更多相关《3计算器软件概要设计说明书.docx(12页珍藏版)》请在冰豆网上搜索。
3计算器软件概要设计说明书
计算机学院程序设计基础实践
文档版本
密级
所属范围
共14页
软件概要设计说明书
拟制:
Preparedby
日期:
Date
审核:
Reviewedby
日期:
Date
审核:
Reviewedby
日期:
Date
批准:
Grantedby
日期:
Date
计算机学院程序设计基础实践专用
版权所有XX
修改履历
标准名:
计算器软件概要设计说明书
分类号:
修改NO
版本号
修改日
制定、修改内容
起草部门
作者
1
V1.0
04.12
制定
HDXY
HDXY
软件概要设计说明书
11 引言
编写目的
此概要设计说明书对软件的解决方案、功能分配、模块化分、程序的总体结构、输入输出和接口设计、运行设计及出错设计等方面作了全面的概括性的说明,为该软件的详细设计奠定了基础。
此文档为模块主管、设计人员工作的阶段性总结,并提供软件主设计、设计人员和开发人员参考。
背景
✧该项目基于展讯(Spreadtrum)平台模拟器开发。
✧为派生机型,中低端型号。
✧按键式操作。
✧屏显为128*160。
✧由XXXX设计开发。
术语表
MMI:
ManMachineInterface人机接口
ADD:
加法。
SUB:
减法。
MULTI:
乘法。
DIVIDE:
除法。
SUM:
求和。
EQUAL:
等于。
参考资料
名称
作者
日期
资料来源
软件开发计划
UI设计规格书
计算器操作规程书
SPREAD文档
12 任务概述
目标
编写一个程序来实现一个单步运算的算术计算器。
通过数组来存放输入的每一数字或运算符号的记录(包括1、2、3等数字,+、--、*、/等运算符号),然后将其信息存入缓冲BUFFER中。
输入一个简单算术计算式,就在屏幕上显示结果。
需求概述
序号
功能名称
功能描述
备注
1
加法
加法运算
2
减法
减法运算
3
乘法
乘法运算
4
除法
除法运算
5
除0运算
除0运算提示
性能需求
无
条件和限制
由于该终端为中低端,且屏显大小为128X160,为输入数据全部显示,所以计算器输入数据一、输入数据二的位数均设计成14位。
13 总体设计
模块结构
标识符
模块名称
模块功能描述
备注
1
计算器输入处理模块
键值输入、运算符号输入操作
2
计算器运算处理模块
进行算术运算
3
计算器显示模块
输入显示、运算结果显示
4
异常出错提示模块
异常出错提示界面、如溢出错误、除0操作、非法运算提示
可使用结构图来描述各模块之间的控制与被控制关系。
功能需求与功能模块关系
无
设计概念及流程处理
说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
技术简介
无
算法描述
执行基本的加减乘除基本运算。
流程分析
使用流程图、顺序图或状态图对此模块和其他模块之间,或者模块中各子模块间的交互关系进行详细说明
1、数据输入处理模块
2、数据显示模块
14 、接口设计
数据结构定义
【定义】
typedefenum
{
CALC_OP1,
CALC_OP2,
CALC_RESULT
}CALC_MODE_T;
【描述】此为计算器输入操作过程中所处状态的枚举类型。
【数据项】CALC_OP1//输入数据一和运算操作符
CALC_OP2//输入数据二中的其它数据
CALC_RESULT
【定义】
typedefenum
{
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',
'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_HASH
接口函数
列出其他模块要调用的以及此模块中各个子模块之间有交互的所有接口函数
【函数原型】
LOCALuint8*SearchChar(uint8*i1_text_ptr,int8i2_char)
【功能】在一个给定的字符串中查找一个给定的字符
【参数】i1_text_ptr:
给定的一个字符串。
i2_char:
给定的一个字符
【返回值】如果找到,返回该字符的地址,否则返回NULL.
【备注】无
【函数原型】
LOCALvoidShowCalcError(uint16math_error)
【功能】运算出错信息提示处理
【参数】math_error:
错误类型。
【返回值】无
【备注】无
【函数原型】
LOCALuint16ShowCalcResult(doublet1_dResult,uint16math_error)
【功能】运算结果处理、显示
【参数】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:
开启窗口附加的参数。
【返回值】无
【备注】无
信号、命令和事件列表
无。
15 出错处理设计
错误信息提示,主要包含除0操作提示,以及数据溢出的信息提示。
由于数据长度有限,所以对数据操作要进行某些限制操作
16 未解决的问题
列出所有未解决的问题,并给出解决措施。
对多组数据的输入,并进行混合运算(按乘除优先、加减次之)。