1、 Software High level Design Specification 软件概要设计说明书 Doc ID: State: Draft¢ Reviewed£ Initial£ Revised£ Doc Type: SW Req£ SW Des¢ SCM£ TEST£ SW Plan£ SQA£ Project: 短信收发服务 Module: Current Version: v0.0.1 Previous Version: Pages: Release Date: Composer Re
2、viser Reviewer Related SW Tester SCM SQA QA SPM PM Approver SSM REVISION HISTORY NO. Date Modify Cause Description Version Composer Approver Review ID 1 2010-6-22 短信服务程序通信协议 0.0.2
3、 TABLE OF CONTENTS 1 介绍 Introduction 1.1 目的 Purpose a. 开发 SmsServer 短信收发服务,用于基站监控收发短信 1.2 范围 Scope TSTester 主要运行平台为Linux 和 Windows 。 系统开发语言为C++/C , 系统主要用到一些跨平台的库作为adapter层。 1.3 术语、缩略语定义 Definitions, Acronyms, and Abbr
4、eviations SmsServer 短信收发服务 Boost Boost C++ Libraries XML Extensible Markup Language WBXML Wap Binary XML WAP Wireless Application Protocol STL C++ Standard Libraries LUA 轻量、可扩展的 Luabind Lua 的c++ 封装 Logxx 开源的日志组件 1.4 参考资料 References 1. 基站监控中心系统设计方案.doc 1.5 文档路径 Docume
5、nt Location 无 2 分析 Analysis 2.1 设计选择 Design Alternatives None. 2.2 运行环境 Running Environment Windows/Linux 2.3 尚未解决的问题 To Be Resolved Issue 3 结构设计Architecture Decomposition 系统主要分为5个子模块,服务管理模块完成所有逻辑处理,短信收发模块用于收发短信,网络模块处理外部的网络通信,适配层主要是一些跨平台库,及公共库,单片机控制模块用于对模块进行开关机操作 3.1 数据包结构及通信过程
6、
说明:
序号
域
说明
1.
包长
数据包长度(不包括包长度域本身)
2.
包类型
序号
包类型
标识
1
普通数据包
0x00
2
回应包
0x01
3.
源序列号
根据通讯需要产生的序列号(标识号).
4.
目的序列号
应答或确认的源包序列号(标识号).(非应答或非确认时目的序列号为0)
5.
数据
数据包体(XML格式).
组成:数据内容
1.数据内容
格式如下:
7、ord>
< SendPhoneNo>13987665666
< SMSContent>1111111111
< RecvTime>2009-3-21 16:07:35.567
8、户端连上短信服务程序后定时发送心跳包01001
类型:01001
方向:客户端->短信服务程序
应答:是
确认:
方式:TCP
描述:当客户端连上短信服务程序后需要定时发送心跳包,数据内容为空
数据:
序号
字段名
类型
为空
描述
示例:
9、
字段名
类型
为空
描述
1
OtherPhoneNo
string
否
接收短信号码
2
SMSContent
String
是
短信内容
示例:
10、序->客户端 应答:是 确认: 方式:TCP 描述:短信服务程序执行完发送短信命令后,回复发送结果 数据: 序号 字段名 类型 为空 描述 1. ResultCode int 否 结果码; 0:成功; >0:异常代码; 2. OtherPhoneNo string 否 接收短信号码 3. SMSContent String 是 短信内容 4. SendStartTime String 否 发送开始时间 格式:2009-3-21 16:07:35.567 5. SendEndTime String 否 发送结束时间 格
11、式:2009-3-21 16:07:35.567
示例:
12、询并返回给集团中心测试点结果
数据:
序号
字段名
类型
为空
描述
1.
LocalPhoneNo
string
否
短信发送号码
2.
OtherPhoneNo
String
否
短信接收号码
3.
RecvTime
String
否
接收到短信的时间 格式:2009-3-21 16:07:35.567
4.
SMSContent
String
否
短信内容
示例:
13、666
14、 对短信模块收到的短信,通过网络模块进行转发到注册到本服务的客户端 3. 对网络包中的发送短信请求进行处理,并通过短信模块进行发送 4. 管理注册到本服务的所有客户端 状态图:none 时序图:none 2) 短信收发模块 完成短信的编码解码工作,并通过串口进行短信发送 状态图:none 时序图: none 3) Net模块 网络模块,短信服务与其他系统的网络通讯在此模块中实现。主要包括 接收数据包,发送数据包,解析数据包,打包数据包。网络模块是作为tcp服务起动的,监听2701 端口 状态图:none 时序图:none
15、 4) 单片机控制模块 主要用于对模块的开关机操作 状态图:none 时序图:none 5) adapter 层 Adapter 层是一个适配层,主要有类型的定义和c++库的封装和一些工具函数的封装。实现跨平台 状态图:none 时序图: none 3.4 模块工作机制 None 4 接口设计 Interface Design 具体接口函数见SmsServer 工程代码 5 总体数据结构设计 /* Other Error base from 9000 .. 9999 */ 输出信息 输出形式
16、含义 处理方法 5.1 系统维护设计 System Maintain Design { 说明为了系统维护的方便而在程序内部设计中增加的一些专门用于系统的检查与维护的检测点和专用模块。如debug 信息,错误记录,关机记录等模块。 可从如下方面介绍:a, 内容描述; b, 资源需求;c, 设计流程 This section describes the special designs, if any, for the purpose to make maintaining of the system e
17、asier or more convenient. These designs include some probes (trace/assert) and/or special modules (trace module), which is used to inspect and maintain the system. } 6 单元测试用例 Unit Test Case { 根据需求文档,列出各个功能的单元测试用例,可以参见单元测试用例集。 According to SRS, please list all test cases. } 7 文件结构 File Structure { 在此处给出该模块的文件结构设计,如果采用白盒测试,请列出测试文件 Please give the file structure of this module. } 8 附 Appendix 8.1.1 类图






