全球旧事资料 分类
都可以单独进行测试2。
上面的5条是参考原则既然是参考原则就不会完全执行完全按照一个教条去执行真的很困难。只要在做模块划分的时候能经常记起这些原则然后稍加注意就OK了。另外在这5条原则中第一条是根本能把这一条做好下面的一些就容易实现了。在做模块划分时一定要始终贯穿独立性的思想。
432模块结构
根据41节的功能定义和42节的工作流程图需要对模块做进一步细化得出更详细的模块结构。这些模块结构是编程的蓝本在编写代码的过程中就
f要以这些结构为指导。
1模块11用户界面45节详细说明。
2模块12EXE的安装模块。建立CXI
stall类C源文件I
stallh和I
stallcpp。安装函数I
stallProvider和卸载函数RemoveProvider
3模块13EXE读写控管规则模块建立CAclFile类C源文件Fileh和Filecpp。读控管规则文件ReadAcl保存控管规则文件SaveAcl增加一条控管规则AddAcl和删除一条控管规则DelAcl。
4模块14EXE设置DLL的控管规则模块设置控管规则单独的函数调用模块13读写控管规则模块得到控管规则数据调用DLL的函数FloCo
trol设置DLL的控管规则。
5模块15EXE设置DLL的工作模式设置工作模式单独的函数调用模块13读写控管规则模块得到控管规则数据调用DLL的函数FloCo
trol设置DLL的工作模式。
6模块21DLL封包过滤模块有分为3块211一组Wi
sock2SPI钩子函数C源文件TcpipDogh和TcpipDogcpp模块212根据控管规则判断是否可以通行的类CCheckAclC源文件CheckAclh和CheckAclcpp模块213对网络数据包进行分析的类CProtocolI
foC源文件ProtocolI
foh和ProtocolI
focpp。
●模块211服务提供者函数模块入口函数WSPSartup发送询问消息到EXE由EXE提供询问界面函数QueryAccess。截获的8个服务提供者函数。设置工作模式、控管规则等设备工作接口函数FloCo
trol。
●模块212访问控管模块通过检查工作模式和控管规则得到是否放行的函数GerAccessI
fo。
●模块213协议解析模块得到协议信息处理函数GetProtocolI
fo
7模块22DLL更改控管规则模块设置DLL控管规则数据SetAcl设置控管规则m_Aclfile设置工作模式m_iWorkMode。
8模块23DLL更改工作模式模块设置DLL工作模式函数SetWorkMode。
433模块接口定义
模块之间接口有3种方式
1函数接口
函数接口是最常用而且独立性和封装性最好的接口方式。函数之间通过参数传递进行模块之间的通信处理过程保持相互独立函数处理完成把处理结果返回到调用模块。如果每个函数都有单独的接口那么函数多了接口也就多了也就越来越复杂了。C利用类的饿概念解决这个问题。类可以将一组函数和变
f量封装起来这样就将许许多多的函数转化成r
好听全球资料 返回顶部