模板
来源:互联网 发布:澳洲人工智能 编辑:程序博客网 时间:2024/05/17 08:11
密级:秘密
文档编号:D0000-PPA-EBD00001-SD-2010-00014-01
DHCP模块概要设计报告
版本:1.0.0-0.0.0
2009-12-8
东软集团股份有限公司 人才实训中心
(版权所有,翻版必究)
文件修改控制
修改编号
版本
修改条款及内容
修改日期
1
1.0.0-0.0.0
创建
2009-12-8
目 录
1 文档概述... 4
1.1 文档目的和范围... 4
1.2 术语/缩略语... 4
1.3 参考文档... 4
2 模块概述... 4
2.1 模块功能定义... 4
2.2 模块结构... 5
2.3 模块动作时序... 5
3 接口说明... 6
3.1 数据结构定义... 6
3.2 函数... 6
3.2.1 模块间接口函数... 6
3.2.2 模块内接口函数... 8
1 文档概述
1.1 文档目的和范围
主要用于实现动态IP地址
1.2 术语/缩略语
列出文档中使用的术语和缩略语,可以采用下面的表格形式:
序号
术语/缩略语
说明
1
DHCP
动态主机配置协议
2
UDP
用户数据包协议
1.3 参考文档
列出所参考的式样或者文档等
序号
文档名
作者
时间
版本
1
需求分析矩阵
2
2 模块概述
模块主要功能是从DHCP服务器动态获取IP地址,从而为使用TCP/IP协议进行数据传输奠定前提
2.1 模块功能定义
记述本模块的功能点
序号
功能点
功能点详细内容
1
形成、发送报文
按照DHCP协议的规定产生结构体类型的报文,调用UDP提供的函数发送报文给服务器
2
解析报文
根据报文类型,解析报文并进行相应的处理
3
报文类型转换
将接受到的数组类型的报文转换成结构体类型的数据,并将要发送的结构体类型的报文转换成数组类型
2.2 模块结构
以本模块为中心,画出模块间结构及模块内结构图。对于模块内细分的小模块也最好列表说明各小模块的功能。
例
模块名称
模块类型
概要说明
Aba1
接口
XXXX
Aba2
接口
XXXXXX
Aba3
内部模块
XXXXXXXXXXXXX
2.3 模块动作时序
主要描述模块间动作时序图,可以直接在VISIO文件中记述(如果直接在VISIO中记述,这里说明「参考XXXXXX.vsd」)。
3 接口说明
3.1 数据结构定义
#define MESSAGE_LENGTH 300 dhcp报文长度
#define ALL_MESSAGE_NUM 4 收发报文的数量
#define DHCP_DISCOVER 0 dhcpDiscover 发送报文
#define DHCP_OFFER 1 dhcpOffer 接收报文
#define DHCP_REQUEST 2 dhcpRequest发送报文
#define DHCP_ACK 3 dhcpAck接受报文
DHCPMessage DHCP协议结构体
DHCPFlageInfo DHCP协议信息标志
3.2 函数
给出模块所有对外接口的函数声明及说明。
函数说明的方式可以参见下面的形式。
3.2.1 模块间接口函数
3.2.1.1 getDynamicIP
函数名
getDynamicIP
文件名
../DHCP
功能概要
动态获取IP地址
记述形式
int getDynamicIP ()
参数
类型
变量名
I/O
说明
void
-
-
-
返回值
类型
int
说明
值
1
成功获得IP
0
失败
详细说明
获得IP地址,供主模块初始化时使用
使用注意事项
主模块初始化时首先调用的函数
3.2.1.2 parseMessage
函数名
parseMessage
文件名
../DHCP
功能概要
解析从服务器得到的响应报文
记述形式
int parseMessage(INT8U *p , INT16U len)
参数
类型
变量名
I/O
说明
INT8U *
p
I
指向服务器响应报文的头部
INT16U
len
I
解析报文的长度
返回值
类型
int
说明
值
1
成功解析数据
0
解析数据失败
详细说明
供UDP调用,处理从服务器传来的响应报文信息
使用注意事项
UDP收到DHCP报文后调用
3.2.2 模块内接口函数
3.2.2.1 DHCP_init
函数名
DHCP_init
文件名
../DHCP
功能概要
初始化一个报文
记述形式
Void DHCP_init(DHCPMessage* message)
参数
类型
变量名
I/O
说明
DHCPMessage*
Message
I
指向一个报文的首地址
返回值
类型
Void
说明
详细说明
根据DHCP协议对报文格式的规定,初始化一个报文,存放在message所指的结构体内
使用注意事项
报文的类型为DHCPMessage
3.2.2.2 from_dhcp_data
函数名
From_dhcp_data
文件名
../DHCP
功能概要
根据传递的参数形成一个discover报文或request报文
记述形式
Void from_dhcp_data(DHCPMessage* message,INT8U op)
参数
类型
变量名
I/O
说明
DHCPMessage*
Message
I/O
指向一个报文的首地址
INT8U
op
I
将要形成的报文的类型
返回值
类型
Void
说明
详细说明
根据传递的op参数,产生一个报文存放在message所指的结构体内
使用注意事项
无
3.2.2.3 sendData
函数名
sendData
文件名
../DHCP
功能概要
发送一个请求报文给服务器
记述形式
Void sendData(INT8U op)
参数
类型
变量名
I/O
说明
INT8U
op
I
发送报文的类型
返回值
类型
Void
说明
详细说明
根据传递的op参数,发送一个discover或request报文给DHCP服务器
使用注意事项
只能指定两种报文的类型
- 模板
- 模板?
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- 模板
- JAVA接口作为参数传递
- 计算机达人成长之路 之软件分析与设计
- java内存管理的8个小技巧
- 一定要看的 Android 资源目录的相关知识
- rfc4893
- 模板
- VC数据库ADO技术,好文章
- Spring横切面(advice),增强(advisor),切入点(PointCut)
- 获取当前可使用的网卡并检查网卡设置(网卡的IP,网关,子网掩码,DNS,备用DNS信息)
- rfc
- 老SDRAM和DDR SDRAM时序图与信号完整性仿真结合运用(2) -版本博客图片丢失,增加图片后又不能上传,shit.
- spring在ssh中的作用
- Fedora利用yum安装卸载软件常用命令
- 去除jsp缓存