输入检测及相应模块概要设计Word文件下载.docx
《输入检测及相应模块概要设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《输入检测及相应模块概要设计Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
2.系统结构3
3.模块功能概述3
4.模块架构4
4.1模块内部构成4
4.2模块的实现5
4.3变更机能的实现5
5.模块接口设计5
5.1外部接口设计错误!
未定义书签。
5.2内部接口设计错误!
6.关键数据结构10
6.1选用的数据结构11
6.2使用规则11
6.3注意事项11
7.主要算法12
7.1算法实现原理12
7.2算法关键流程12
7.3算法使用注意事项12
8.限制条件13
9.框架流程14
9.1.1流程114
9.1.2流程214
10.模块间时序15
10.1.1主要通信主体15
10.1.2时序图15
11.附件16
11.1模块技术点整理16
11.2参考文档16
1.引言
说明:
简短的描述一下文档的用途、范围以及预期读者。
注意:
本模板用于编写系统概要设计,说明软件架构级涉及的基本算法、关键数据结构、主要设计思想。
为软件详细设计打下基础。
本模版列出了概要设计时需要做的比较完全的内容、可以根据项目情况适当进行裁剪。
模板格式说明:
蓝色斜体字:
是模板的说明文字,实际写文档的时候需要去掉。
紫色斜体字:
是模板的例子,实际写文档的时候需要去掉。
图表全部使用引用题注和交叉引用的方式、通过更新域、可以自动排序。
1.1术语
列出文档中使用的相关术语。
例:
表11:
技術用語
番号
用語
説明
1
GUID
GlobalUniqueIdentificantion系统分配的全局唯一标识符
1.2缩略语
按字母顺序列出文档中使用的缩略语。
表12:
缩略语
原词
缩写
Action
ACT
动作类游戏
2.系统结构
3.模块功能概述
模块的功能点概述
注:
说明模块概要功能,详细功能点将在详细设计中进行说明
3.1本模块实现机能点
■键盘输入及响应
■鼠标输入及响应
■游戏杆输入响应。
4.模块架构
4.1模块内部构成
输入检测模块
编号
功能点说明
IDirectInput8
主要的DirectInput8COM接口。
其他所有接口都通过这个接口进行查询
IDirectInputDevice8
用于输入设备的COM接口。
每个设备都有自己单独的接口可供使用
IDirectInputEffect
用于力反馈效果的COM接口,比如某些游戏杆和某些鼠标上的力反馈效果。
4.2模块的实现
根据模块框图对模块的划分、详细描述如何构建模块的各个部分、各个机能点如何被实现、可以使用如下说明手法。
状态迁移图
时序图
TimingChart
流程图
数据表
4.3变更机能的实现
变更设计时需要写、对变更的机能点详细描述。
5.模块接口设计
1.普通函数—分别用于设备接口和释放设备接口的函数
函数名
Create()
文件名
Core_Input.cpp
功能概要
用于初始化接口
参数
类型
变量名
I/O
cInput
*Input
无
short
Type
BOOL
Windowed
返回值
值
FALSE
强制类对象使用DirectInput的设备读取数据。
TRUE
强制类对象使用Windows的设备读取数据
Free()
用于释放
已释放
未释放
Clear()
清除设备数据
已清除
未清除
Read();
读取设备数据
已读取
未读取
Acquire();
获得或释放设备
Active
已获得数据
未获得数据
GetLock();
得到锁定的键或按键的状态
char
Num
已得到锁定的状态
未得到锁定的状态
SetLock();
设置锁定的状态
State
bool
已设置锁定的状态
未设置锁定的状态
GetXPos();
得到鼠标或游戏杆X坐标的值
long
m_XPos
返回X的坐标值
SetXPos();
设置X坐标的值
XPos
GetYPos();
得到鼠标或游戏杆Y坐标的值
m_YPos
返回Y的坐标值
SetYPos();
设置Y坐标的值
YPos
GetXDelta();
得到X的增量(相对移动量)
Long
GetYDelta();
得到Y的增量(相对移动量
2.键盘专用函数
GetKeyState();
得到键所处的状态
表示键被按下
表示键被释放
SetKeyState();
设置键的状态
已设置键的状态
未设置
GetPureKeyState();
得到键的状态,在键可能被锁定的情况下使用
得到键的状态
为得到键的状态
GetKeypress();
等待按键并返回ASCII值
TimeOut
GetNumKeyPresses();
得到当前按下的键的数值
GetNumPureKeyPresses();
得到被按下的键的数值,在建可能被锁定的情况下使用
3.鼠标和游戏杆
GetButtonState();
得到按键的状态
得到按键的状态(鼠标和游戏杆)
未得到按键的状态(鼠标和游戏杆)
SetButtonState();
设置按键的状态
GetPureButtonState();
得到按键的状态,在按键可能被锁定的情况下使用
得到按键的状态(鼠标和游戏杆)
未得到按键的状态(鼠标和游戏杆)
GetNumButtonPresses();
得到按下的按键的数值
返回按下的按键的数值
GetNumPureButtonPresses();
得到按下的按键的数值,在按键可能被锁定的情况下使用
返回按下的按键的数值(锁定)
6.关键数据结构
6.1选用的数据结构
enumInputDevices{
NONE=0,
KEYBOARD,
MOUSE,
JOYSTICK
};
6.2使用规则
6.3注意事项
7.主要算法
采用的算法和基本理由的阐述。
7.1算法实现原理
才算法的基本原理,以及选用该算法的理由。
7.2算法关键流程
7.3算法使用注意事项
8.限制条件
说明本程序运行中所受到的限制条件。
例如运行时间或响应时间的限制
9.框架流程
把模块级实现的主要流程进行描述,细化到主要处理功能即可,功能级的细化将在详细设计完成。
9.1.1流程1
9.1.2流程2
10.
模块间时序
把模块间通信时序进行说明。
10.1.1主要通信主体
10.1.2时序图
11.附件
11.1模块技术点整理
技术点识别
应用的设计模式
应用的算法与数据结构
使用的库函数或共通函数
11.2参考文档
文档名称