第一篇:Q系统详细设计报告
详细设计说明书
1、引言: 1、1编写目的:
在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的 程序语言书写的程序。主要的工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等)
在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力作到 让用户易懂易学。《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的机票预定系统交到用户手中。1、2项目背景:
在本即时聊天工具项目的前一阶段,也就是需求分析阶段,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对不同用户所提出的不同功能,实现的各种效果做了调研工作,并在需求规格说明书中得到详尽得叙述及阐明。
本 飞Q即时聊天系统项目主要由两部分形成:
1、客户端;
2、数据库服务器端;
2 1、3文中特殊的定义和缩写:
1.3.1定义
SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。SQL: 一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域。值互不相同。
外部主键:数据库表中与其他表主键关联的域。ROLLBACK: 数据库的错误恢复机制。
1.3.2 缩写
系统:若未特别指出,统指本机票预定系统。
SQL: Structured Query Language(结构化查询语言)。ATM: Asynchronous Transfer Mode(异步传输模式)。1、4参考资料:
1. 以下列出在概要设计过程中所使用到的有关资料: 2. 需求规格说明书
飞Q软件开发小组
3. 概要设计说明书 飞Q软件开发小组
4. 用户操作手册(初稿)
飞Q软件开发小组 5. 软件工程及其应用 周苏、王文等 天津科学技术出版社 6. 软件工程
张海藩 清华大学出版社
7. Computer Network A.S.Tanenbaun Prentice Hall
8.网络上的资料
文档所采用的标准是参照《软件工程导论》沈美明著 的“计算机软件开发文档编写指南”。
3 2.总体设计: 2、1需求概要:
应广大用户的要求,要求做一个性能更高更人性化的即使聊天工具,我飞Q软件设计小组努力为大家写一个更好的即时聊天工具。
飞Q2012聊天系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的飞Q2012聊天系统,实现添加好友,删除好友,相互聊天系统,为人们聊天提供准确、精细、迅速的信息。
根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将飞Q2012聊天系统划分为两个子系统:客户端子系统,服务器端子系统。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要单明了,易于操作,服务器程序利于维护。2、2 软件结构:
各模块之间的关系已由概要设计给出
下面介绍详细的设计
登陆模块
4
登录找回密码输入错误输入飞Q帐号和密码申请帐号输入格式是否正确正确进入找回密码界面点击登录进入申请界面密码正确?密码正确进入飞Q聊天主界面密码错误登录失败结束 申请模块
开始输入基本信息N点击新用户注册信息是否完整Y显示已申请的QQ帐号,密码点击登录QQ进入QQ登陆界面结束
安全模块
开始点击安全概述点击修改密码点击常见欺骗点击修改密保常见欺诈立即完成是否设置密保Y判断安全状况隐患危险N密保是否正确Y提交输入验证密保设置密保N密保问题是否正确提交Y提交N是否设置密保Y输入原密保问题输入密保问题N修改密码修改密保输入新密保提交良好结束
7
聊天模块聊天窗口1聊天窗口2窗口1窗口2发送发送窗口2信息转换站窗口1信息转换站
服务器端:
1、申请模块
8
启动线程将可申请帐号预读到内存中等待用户申请。。返回继续监听客户端返回申请到的QQ用户请求启动线程调用子线程次数过多此ip是否申请次数过多取出一个可申请的qq返回申请到的QQ在数据库中建立此人的基本信息档案结束c
2、登录模块 9
启动线程将密码预读到内存中等待用户申请。。返回继续监听该帐号另一客户端客户端返回申请到的QQ用户请求启动线程调用子线程重复则发送终止命令判断是否是重复登录不重复密码错误判断密码是否正确给其他好友发送登录信息、读取系统消息读取系统消息所以在线好友返回申请到的QQ返回用户的好友列表读取好友列表数据库结束
3、添加好友模块
10
启动接收添加好友同意与否信息线程等待用户。。返回继续监听客户端发送同意与否信息启动子线程调用子线程读取同意与否信息不同意同意否?同意写入数据库数据库客户端同意信息子线程结束 10 11
启动接收添加好友请求线程等待用户申请。。返回继续监听客户端用户请求启动子线程调用子线程不允许任何人加入判断要添加的用户的添加权限允许任何人加入数据库需要验证结束 11 12
启动接收添加好友验证线程等待用户申请。。返回继续监听客户端用户请求启动子线程调用子线程读取验证信息判断要添加的用户是否在线发送同意与否不在线数据库在线子线程结束要添加的用户同意的同时数据库相应添加
4、删除好友模块
13
启动删除好友请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程删除成功读取要删除的人在双方数据库中删除对方数据库发送刷新界面命令另一客户端结束
5修改好友昵称模块 14
启动修改好友昵称请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程读取要修改的人在数据库中修改数据数据库结束
6、查找用户模块
15
启动查找用户请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程读取要删除的人判断是精确查找还是按条件按条件精确构造SQL语句构造SQL语句返回结果列表数据库构造搜索结果列表返回结果结束
7、安全模块
7.1、设置密保模块
16
启动监听用户设置密保请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程读取此用户的信息,及密保设置信息返回成功信息构造SQL语句写入数据库数据库写入数据库完成后结束
7.2、判断是否设置密保模块
17
启动监听用户请求线程等待用户请求。。返回继续监听客户端用户请求没有设置密保启动子线程调用子线程判断是否设置密保读取密保问题返回密保问题信息数据库得到该用户密保问题结束 18 7.3、判断密保答案是否正确模块
启动接收用户密保答案线程等待用户请求。。返回继续监听客户端用户请求启动子线程错误调用子线程获得密保答案读取密保问题及答案数据库返回数据判断密保答案是否正确返回正确信息子线程结束
19 7.4、修改密保模块
启动接收用户密保答案线程等待用户请求。。返回继续监听客户端用户请求启动子线程错误调用子线程获得密保答案读取密保问题及答案数据库返回数据判断密保答案是否正确返回正确信息子线程结束
7.5、修改密码模块
20
启动接收用户重设密码线程等待用户请求。。返回继续监听客户端用户请求调用子线程启动子线程读取密码信息返回成功信息重设密码在数据库中重写此用户密码数据库子线程结束
7.6、找回密码
21
启动监听用户请求线程等待用户请求。。返回继续监听客户端用户请求没有设置密保启动子线程调用子线程读取密保问题判断是否设置密保旧密码不正确判断旧密码是否正确返回重设成功信息数据库重设密码写入数据库子线程结束
8、移动好友模块 22
启动移动好友昵称请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程读取基本信息在数据库中修改数据数据库结束
9、组操作模块
23
启动组操作请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程读取基本信息判断是对组的什么操作赠加组删除组修改组的名称生成SQL语句在数据库中修改数据数据库结束
10、发送系统消息模块
24
开始服务器线程产生的不通的发送消息要求判断是发哪种类型的系统消息用户1用户3用户2用户4给相应的用户发送相应的系统消息。。结束
11、更新个人信息模块
启动修改个人信息请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程读取信息生成SQL语句在数据库中修改数据数据库结束
25
12、请求ipPort 模块
启动修改个人信息请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程读取信息读取ip和port读取另一用户ip和portHashmap返回此人ip和chatport判断ipport是否为空返回不在线信息结束、心跳模块
13.1、用户心跳接收处理模块
26
启动修改个人信息请求线程等待用户请求。。返回继续监听客户端用户请求启动子线程调用子线程读取信息读取ip和port读取另一用户ip和portHashmap返回此人ip和chatport判断ipport是否为空返回不在线信息结束
13.2、服务器定时检测超时模块
27
启动循环检测用户是否在线的线程得到hashmap中的一个用户是否超时?是推拉检测模块否得到hashmap中的下一个用户
13.3、服务器推拉检测在线模块
28
启动循环检测用户是否在线的线程客户端是否在线我在线向用户询问是否在限定时间得到用户客户端响应是更新记录接收用户心跳时刻的hashmap否在数据库中相应修改从记录接收用户状态的hashmap删除此用户从记录接收用户在线信息的hashmap删除此用户从记录接收用户心跳时刻的hashmap删除此用户数据库此线程结束
14、添加可利用飞Q号
开始否读取数据库中可申请的帐号数Sleep 一小时判断数量是否过少否是添加一些可利用的帐号添加到内存中的可申请帐号arraylist中
3、程序描述:
客户端总模块:
1 登陆模块 登录过程
对在飞Q登录信息界面中输入的各项信息进行初步检验。若发现错误,输入数据全部清空,以让用户重新输入一次。若未发现错误,转入主界面。其中的错误种类有:
输入数据不匹配
帐号 数据库没有该帐号
密码 与对应账号的密码不匹配 2 输入数据不能为空 if(账号为空){ 请输入账号再登陆 } else if(账号长度小于6或对于20){ 请输入正确的账号,账号可以位数字或Email地址。
} else if(密码为空){ 请输入密码后再登陆 } else { 通知服务器 账号为:xxx 密码为:xxx的请求登陆 } 2申请过程
对之前没有申请飞Q的用户,不能登录飞Q,而必须点击申请,成为飞Q大家庭点击之后转入申请界面
寻找忘记密码过程
对之前申请飞Q的用户,如果忘记密码,请不要担心,点击界面上的“忘记密码”,点击之后转入寻找密码界面
1.的一员。
2申请模块
对在飞Q申请信息界面中输入的各项信息进行账号申请。若发现错误,输入数据全部清空,以让用户重新输入一次。若未发现错误,转入账号申请成功界面。
if(昵称为空){ 请输入昵称 } else if(密码格式错误(小于6或大于20)){ 密码必须6-20个字符!
密码框清空,重新输入 } else if(两次密码输入不匹配){ 两次密码输入不一致
密码框清空,重新输入 } else { 获取注册信息
点击新用户注册,向服务器传输注册信息 }
32 3 增删改查模块
3.1 查找好友模块
对在飞Q查找好友界面中选择查找类型(精确查找或条件查找),输入各项查找信息进行好友查找。若发现错误,输入数据全部清空,以让用户重新输入一次。若未发现错误,转入查找结果界面。在查找结果界面中选择要添加的好友,双击,查看该好友的详细资料,点击添加,转入好友信息验证界面。在好友信息界面,输入验证信息,完成好友的添加。
Search类
if(查找联系人){ if(精确查找){
if(查询条件为空)
{
请至少填一个查询条件
}
else { 获取查找信息
点击查找把查找信息传递给服务器 } }
else if(条件查找)
{ 获取查找信息
点击查找把查找信息传递给服务器
} Search_rasult类 if(点击添加好友){ if(添加好友选择的是自己)
33 {
对不起,自己不能加自己为好友!
重新选择
} else { 把选择的好友发送给服务器
} } else if(关闭){ 放弃添加为好友
} Addfriends类
if(确定添加为好友){ 把选择的好友信息发送给服务器 } else if(取消){ 放弃添加为好友 } 3.2 删除好友模块
找到你要删除的对象所在的用户组,展开,找到该用户,右击,点击好友删除,然后刷新好友列表;
3.3.3 修改个人资料模块
点击自己头像,转入个人资料界面,更新你所需要的信息选项;确定更新点击确定,如果不想更新,点击取消即可;
更改头像:点击更换头像,即可转入更换头像界面,界面中陈列了各种头像,点击你想要的头像,即可显示该头像的不同样式,一供你参考。思考之后确实想更换,点击确定,立刻刷新所有界面,确保头像更换。如果不想更换,点击取消即可。
3.4 好友移动模块
34 找到你要移动的对象所在的用户组,展开,找到该用户,右击,点击移动,在弹出框中选择移动的组对象,向服务器发送相应的数据,然后刷新好友列表;
3.5 组操作模块 <1> 修改
找到你要修改的用户组,右击点击重命名,向服务器发送该账号的修改组信息,刷新好友列表,即可看见修改成果.<2> 删除
找到你要删除用户组,展开,右击,点击删除分组,向服务器发送该账号的删除组信息,然后刷新好友列表;
如果,要删除的是默认分组“我的好友”,系统不提供删除权限。<3> 添加
在好友列表中右击,点击添加分组,输入分组名,点击确定,向服务器发送该账号的组信息,不想添加,点击取消。安全模块
对在飞Q安全界面中,分为“安全概述”,“常见欺诈”,“修改密码”,“修改密保”; <1> 安全概述
安全概述 概述了你当前飞Q的安全状况 if(设置密保并且密码等级为良好以上){
安全状况良好请继续保持良好的习惯
可立即完成设置密码 } else if(设置密保并且密码等级为中等以下){ 安全状况存在隐患请定期修改密码
立即完成设置密码 } else { 安全状况危险请立刻设置密保问题
立即完成设置密保 } <2> 常见欺诈
常见的集中欺诈方式:钓鱼网址,视频欺诈,中奖欺诈,冒充好友欺诈;
35 <3> 修改密码
修改密码之前请确保设置密保;
如果没有设置密保问题,请先设置密保问题,以确保该账户的安全性。如果设置了密保问题,请先输入原密保问题,核对用户身份。密保正确才可以修改,如果错误,对不起,不能修改密码。
if(三个密保问题有空){ 对不起,密保问题回答不能为空!
没填写的须不完整
} else { 向服务器获取对应密保问题的答案
If(回答错误){ 提示:对不起,密保问题回答不能正确
全部清空,重新输入 }
else { 修改密码
输入旧密码
if(输入的旧密码正确){
if(新密码为空)
{
提示:密码不能为空
}
else if(两次密码输入不一致)
{
提示:两次密码输入不一致
}
else if(两次密码输入一致并且不空){ 向服务器发送该账号的新密码
} }
else
36 { 提示:密码有误,请重新输入
} } } <4> 修改密保
如果没有设置密保问题,设置密保问题。
如果设置了密保问题,请先输入原密保问题,核对用户身份。密保正确才可以修改,如果错误,对不起,不能修改密保。
if(没有设置密保){ 选择密保问题回答
If(选择的密保问题重复){ 提示:选择的密保问题重复
重新选择密保问题 }
Else if(修改密保时验证密保问题为空){ 提示:修改密保时验证密保问题为空 } Else { 服务器发送该账号的新密保问题和新密保问题对应的答案 }
} else { 已经设置设置密保
向服务器获取对应密保问题的答案
输入密保问题答案(用户)If(回答错误){ 提示:对不起,密保问题回答不能正确
全部清空,重新输入 }
else { 修改密保
选择密保问题回答
If(选择的密保问题重复){ 提示:选择的密保问题重复
重新选择密保问题 }
Else if(修改密保时验证密保问题为空){ 提示:修改密保时验证密保问题为空 } Else { 服务器发送该账号的新密保问题和新密保问题对应的答案 } } } 聊天模块
所有的聊天窗口的即时聊天信息 只要点击发送,聊天信息会发送到服务器中信息中转站中;在信息中转站中判断该发送的对象,再由服务器发送给对。
服务器模块:
1、申请模块
将用户发送过来的申请信息写入临时变量对象中并存入数据库中 在数据库中建立如下信息
在main数据库的各表中插入申请的号码
在users 数据库中建立该帐号的档案,包括好友列表、添加好友验证表、历史记录表等等
2、登录模块
接收数据并存入loginpot中
38
判断接收的密码和服务器中的密码是否相同,相同则返回登录成功,并发送一系列信息(见下),不相同则返回登录失败,3、添加好友模块
1、发送添加好友请求:
用户发送添加好友请求包,服务器解析出要添加的好友,然后从数据库中查找出该用户的添加好友权限jugde 然后进行一下判断: switch(judge){ case 1://假如统一任何人加入
在双方数据库中分别添加对方,并且向被添加的的用户发送的界面刷新命令
break;
case 2: 对方需要验证信息,通知客户端
break;
case 0: 对方不允许任何人加入,通知客户端
break;
}
2、发送验证信息:
用户发送验证信息包,服务器解析出数据,判断要发送验证信息的用户是否在线
If(在线){
在线的话,就把验证信息发送到该用户客户端上并显示 } Else {
不在线的话,就把验证信息存入要发送的用户的数据库中,等到该用户下次登录时候并会提示该用户有添加好友验证信息 }
3、发送同意以否信息
39
用户发送同意与否信息包,服务器解析出数据,判断要发送同意与否信息的用户是否在线,判断同意与否信息是否
If(同意){
写入数据库相应 的信息。} Else {
不对数据库进行操作。}
If(在线){
在线的话,就把同意与否信息发送到该用户客户端,同时把此人的基本信息发送到客户端 } Else {
不在线的话,就把同意与否信息存入要发送的用户的数据库中,等到该用户下次登录时候并会提示该用户有添加好友成功与否信息 }
4、删除好友模块
删除好友模块设计思路比较简单,如下
用户发送删除好友信息包,服务器解析出基本数据,删除发送请求用户的数据库中要删除的好友的信息,同时在对方的数据库中也相应的删除此人信息,并且将删除成功与否信息发送回去,同时给要删除的用户发送刷新界面命令,当然得先判断该用户是否在线
If(在线){
在线的话,给要删除的用户发送刷新界面命令,删除点发送请求的用户的信息 } Else {
不在线的话,不用再进行任何操作 }
40
5修改好友昵称模块
同样,修改好友昵称模块,也很简单明了,不需要进行复杂的逻辑判断,详细过程如下:
用户发送修改好友昵称信息包,服务器解析成基本数据,在数据库中找到该好友的好友列表,修改该用户要修改的好友的昵称,然后子线程就可以终止了
6、查找用户模块
用户发送修改好友昵称信息包,服务器解析成基本数据,首先判断该用户用的是什么搜索模式,If(搜索模式是精确查找模式){
根据内容构造出SQL语句,在数据库中查找出相应的用户,构造出列表发回客户端 }
Else if(搜索模式是按条件查找模式){
根据内容构造出SQL语句,在数据库中查找出相应的用户,构造出列表发回客户端 }
7.1、设置密保模块
用户发送修改好友昵称信息包,服务器解析成基本数据,在数据库中找到该用户的的信息,将密保问题和答案写入该用户的数据库中,假如已有密保问题则转到重设密保模块
7.2、判断是否设置密保模块
用户发送请求后,服务器解析出数据,在数据库中找到该好友,查看该好友是否设置密保,If(设置了密保){
返回密保问题
41 }
Else if(没有设置密保){
发送回去没有设置密保的标识 }
7.3、判断密保答案是否正确模块
用户发送给服务器密保答案信息,服务器解析出相应的数据,从数据库中查找该用户的信息,得到密保问题和答案,进行判断三个问题是否全部回答对
If(三个密保问题全回答对)
{
向该用户客户端发送验证成功的消息 }
Else(三个问题不全对或全不对){
向该用户客户端发送验证失败信息 }
7.4、修改密保模块
这里说明一下,修改密保的模块是在验证密保答案正确的前提下才能进入的,所以此模块仅仅是覆盖掉该用户的,特此声明,呵呵,声明有点晚了。
没有复杂逻辑判断,思路如下:
用户发送给服务器新密保信息,服务器解析出相应的数据,从数据库中查找该用户,在数据库中重写此人的密保问题和答案,然后子线程接收。
7.5、修改密码模块
声明如7.4所示,不再重复 思路如下:
用户发送给服务器新密码信息,服务器解析出相应的数据,从数据库中查找该用户,在数据库中重写此人的密码,同时将新设置的密码加入内存中用户密码hashmap中,然后子线程接收。
7.6、找回密码
42
找回密码其实和重设密保有什么相识的地方,都是先验证信息密保信息是否正确,然后根据正确与否做出相应的处理
用户发送请求后,服务器解析出数据,在数据库中找到该好友,查看该好友是否设置密保,If(设置了密保){
返回密保问题
。。
判断接受的密保答案是否正确
If(三个问题都回答正确){
返回验证成功信息,通知客户端转入重设密码模块
} Else {
返回验证失败信息
} }
Else if(没有设置密保){
发送回去没有设置密保的标识,通知该用户由于没有设置密码,通过此方法不能找回密码。
}
8、移动好友模块
移动好友模块设计思路比较简单,如下
用户发送移动好友信息包,服务器解析出基本数据,在数据库中查到该用户的用户列表信息,更新列表信息,在数据库中做相应的修改
9、组操作模块
由于基本的几个组操作有很多相似之处,所以将几个组操作划为一个模块,设计思路如下:
43 用户发送组操作 信息包,服务器解析出基本数据和命令,判断要进行的组操作是什么操作,然后进行相应的操作,具体设计思路如下:
If(组操作命令为增加组){ 在users数据库中找到此用户的groupsList表,在此表中添加相应的组 } Else if(组操作为删除组){
1、在users数据库中找到此用户的friendsList表,把相应组的好友的组属性改为 我的好友,即将要删除组中的好友放到我的好友 中,而不是直接将他们删除,2、在users数据库中找到此用户的groupsList表,在此表中删 除相应的组
} Else if(组操作为修改组的名称){
1、在users数据库中找到此用户的friendsList表,把相应组的 好友的组属性改为 要修改的组名
2、在users数据库中找到此用户的groupsList表,在此表中删 找到相应的组,修改此组的名称为要修改的名称
}
10、发送系统消息模块
发送系统消息模块是由服务器直接调用的,来完成一些必须的用户响应,此模块发送消息的不同是由器构造函数决定的,其构造函数共有7种,如下:
//
public sendSystemMessageThread(String qq, int status)throws SQLException {
1、发送改变状态
}
public sendSystemMessageThread(String text)throws SQLException { 43 44
2、发送系统消息(全部人)
}
public sendSystemMessageThread(String qq, int sign, String ip_od, String t)throws SQLException {
3、发送上次登录信息(登陆者)
}
public sendSystemMessageThread(String qq, String text)throws SQLException {
4、发送系统消息(对登录者)
}
public sendSystemMessageThread(String qq, systemMessage sys)throws SQLException {
5、发送添加好友请求信息
}
public sendSystemMessageThread(int sign, String qq)throws SQLException {
6、当在其他地方登录时给另一个QQ发送下线通知
}
public sendSystemMessageThread(String qq, systemMessage sys, int agree){
7、给该用户发送好友状态改变
}
由服务器根据不同的需要构造不同 的发送系统消息线程,实现相应的响应
11、更新个人信息模块
用户发送给服务器新个人信息信息,服务器解析出相应的数据,从数据库中查找该用户,在数据库中重写已经更改了的此人的信息
45
12、请求ipPort 模块
此模块是服务器中唯一和聊天相关的监听线程,此种设计方法极大的降低了服务器的压力,获取ip 和聊天port 是聊天中很重要的一个环节,设计思路如下:
用户发送给服务器请求另一个人的port的信息包,服务器解析出相应的数据,从内存中查找另一个用户的ip 和聊天 port,判断是否得到此人信息
If(查询到此人的在线信息){
给客户端返回找到的在线信息 } Else {
给客户端返回没有找到此人信息,也就是此人不在线,客户端
然后做出相应地相应
}
13、心跳模块
心跳相互协作的工作组及即时聊天领域发挥着详单重要的角色,通过发送心跳报,来判断各个部分工作是否正常,以防某个部分运作异常发现不了,造成严重错误。
心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。
用来判断对方(设备,进程或其它网元)是否正常运行,采用定时发送简单的通讯包,如果在指定时间段内未收到对方响应,则判断对方已经离线。用于检测TCP的异常断开。基本原因是服务器端不能有效的判断客户端是否在线,也就是说,服务器无法区分客户端是长时间在空闲,还是已经掉线的情况。所谓的心跳包就是客户端定时发送简单的信息给服务器端告诉它我还在而已。代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开。
比如有些通信软件长时间不使用,要想知道它的状态是在线还是离线就需要心跳包,定时发包收包。发包方:可以是客户也可以是服务端,看哪边实现方便合理,一般是客户端。服务器也可以定时发心跳下去。一般来说,出于效率的考虑,是由客户端主动向服务器端发包,而不是服务器向客户端发。客户端每隔一段时间发一个包,使用TCP的,用send发,使用UDP的,用sendto发,服务器收到后,就知道当前客户端还处于“活着”的状态,否则,如果隔一定时间未收到这样的包,则服务器认为客户端已经断开,进行相应的客户端断开逻辑处理。
46 13.1、用户心跳接收处理模块
客户端发送心跳包,服务器心跳接收模块解析出此用户的状态,判断此人的状态与上一次心跳的状态是否相同
If(状态相同){ 将系统此时的时间写入内存中此用户的hashmap节点 } Else if(状态不同){
将系统此时的时间写入内存中此用户的hashmap节点
If(是下线信息){
删除此人的在线信息
} 给其好友发送状态改变信息
}
13.2、服务器定时检测超时模块
此模块用于定时检测用户心跳超时与否,设计详细如下:
While(true){ 从内存中的hashmap 中的第一个用户到最后一个用户,进行如下操作:
If(此用户心跳超时){
超时意味着此用户极有可能已经掉线了,但是不确定,所以此时要调用推拉检测用户在线模块,来确认此人到底在不在线
} Else {
不执行操作
} 休眠5秒后,继续 }
47 13.3、服务器推拉检测在线模块
此模块是服务器中很特殊的模块,是主动联系客户端 的模块,在次模块中,服务器会主动询问客户端是否在线,形象的描述如下:
服务器问:******你在线吗? 客户端答:我在线。或者客户端没反应
这里就要判断在规定的时间内客户端是否返回响应 If(在规定的时间能收到相应){ 证明此用户是活着的,将系统此时的时间写入内存中此用户的 hashmap节点
} Else { 此用户已经意外掉线,所以应删除此人的所有在线信息 }
14、添加可利用飞Q号
添加可利用的帐号就是,假如可申请的号码低于规定的个数时,服务器添加帐号现在立即自动添加适当的帐号,保持适当数量的可利用的帐号,描述如下
While(ture){
If(数据库中的可申请的帐号数量小于某个值){
向数据库中添加适当数量的帐号,同时向内存中的可申请帐号
hashmap表中添加这些帐号
} Else {
不执行操作
} 线程休眠1小时
}
48
第二篇:图书馆管理系统详细设计报告
引言
1.1 编写目的
本文档为C3图书管理系统的详细设计说明书,向阅读人 员介绍本图书管理系统的整体框架和详细设计。1.2 背景 系统描述
BMS系统为图书馆书籍管理,企业图书、材料管理提供了一个方 便的电子平台。该系统分为图书管理模块,图书信息查询、预览 模块,图书评价模块,读者信息管理模块,书籍借阅和归还管理
模块以及管理员模块等模块。图书管理系统软件是一套功能比较
完善的图书数据管理软件,具有数据操作方便高效迅速等优点。使用。除此以外,BMS可通过访问权限控制以及数据备份功能,确保数据的安全性。1.3 定义 术语:
BMS BookManagementSystem 图书管理系统 1.4 参考资料
《数据库系统概念》 Abraham Silberschatz Henry F.korth 《软件工程导论——第4版》 张海藩 清华大学出版社 2 程序系统的组织结构 2.1系统架构
本系统包含客户层,中间层和图书管理信息系统层。其中,客户层用于用户与客户端的交互,例如显示信息,查询信息,提交信息,输入数据等。中间层为应用服务器部分,主要用来实现数据的接收,发送,并作为一座“桥梁”来连接客户与数据库。图书管理信息系统层主要实现数据的处理功能。
从安全的角度看,中间层的引入能有效的对系统与数据进行保护,用户无法直接修改,删除核心信息,从而使系统安全性得到保障,有效地避免数据丢失等问题的出现
管理员在得到读者归还图书的需求时,在在图书借阅记录表中查询到该借阅信息。根据该信息判断图书是否是该处借出图书,判断图书是否逾期,是否需要对读者罚款。并修改图书借阅记录表和读者借阅记录。程序1(注册登录模块)设计说明 3.1 程序描述
读者第一次使用该系统,需要通过注册才能成为系统的用户。登录系统后,用户可以使用系统开放给普通用户的各种功能。在个人信息中,注册用户还可以查看并修改自己的个人信息。丢失自己密码的注册用户可以通过个人资料认证来重新找回自己的密码。3.2 功能
注册部分:非会员输入注册信息,系统判断注册信息的正确性,如果正确,在数据库插入新的读者信息,并返回欢迎信息。取回密码部分:读者输入读者ID,系统取出该读者ID的密码和注册邮箱,将密码发送到该邮箱中。登录部分:管理员输入登录名和密码,系统判断密码正确性,如果正确,向管理员提供管理员相关功能。读者输入登录名和密码,系统判断密码正确性,如果正确,向其提供读者相关功能.3.3 性能
–允许读者测试注册读者ID的合法性 –提供足够的帮助信息,诱导用户输入
–允许读者跳过某些非关键信息,允许读者更改输入次序 3.4 输入项
–注册部分:输入注册信息,包括用户名,姓名,地址,Email,电话号码,密码等。–取回密码部分:输入用户名以及Email,电话号码中至少一项 –登录部分:读者输入用户名与密码,管理员输入管理员ID与密 码。3.5 输入项
–注册部分:如果成功,输出欢迎信息;否则出现失败提示信息。–取回密码部分:如果成功,显示成功信息,并将密码发送至Email 中;失败则显示失败提示信息。
–登录部分:如果成功,输出欢迎信息;反之则提示失败信息。3.6 算法
–注册部分:首先判断数据库中的读者ID是否存在,如果存在,提示错误信息,如果不存在再判断输入数据是否符合输入要求,不符合要求,提示具体错误信息,反之则将注册读者信息存入到 数据库中。
–取回密码部分:首先判断输入的读者ID是否存在,不存在则提 示错误信息,存在则将该读者的密码发送至会员提供的Email中。–登录部分:首先判断读者ID是否存在如果输入的读者名不存 在,提示错误信息,然后检查密码与读者ID是否对应,不对应则 提示错误信息,对应输出欢迎信息。
3.7 流程逻辑
3.8 接口 数据库接口 3.9 存储分配
读者信息存储在数据库tb_reader表中,管理员信息存储在数据库 tb_admin中.3.10 注释设计
用/*„„*/作多行注释,用//作单行注释 3.11 限制条件
取回密码时读者的邮箱地址一定要合法的,才能把密码发送到该 邮箱中。3.12 测试计划
用多组重复的读者ID测试错误信息的检查与显示,用不符合要求 的读者信息注册测试系统错误处理能力。
第三篇:企业人事管理系统详细设计
企业人事管理系统详细设计 企业人事管理系统概述
人事管理系统模块设计:用户登录模块:模块功能包括录入,修改,删除登录用户信息。用户权限管理模块:模块功能包括为每个系统功能设置一个权限代码,为每个用户设置其能够拥有的权限,从而保证用户根据自己权限访问系统,确保系统保密信息的安全性。人员基本信息管理模块:模块功能包括企业人员信息录入,修改,删除,部门设置,照片上传及工作岗位分配等,对人员基本信息进行详细描述,以便在以后的系统运行过程中进行调用查询。人员工作管理模块:模块功能包括工作分配查询、工作情况查询(又包括工作正常查询和额外查询)等查询工作。统计查询模块:模块功能包括根据部门、学历、专业职务、合同类型、政治面貌、毕业院校、工作岗位、户口所在地、婚姻状况、籍贯、家庭住址、参加工作时间、民族、入职时间、入党时间、专业等进行综合查询;同时可以对查询结果到出成Excel格式进行二次编辑打印。系统维护模块:模块功能包括部门管理,学历管理、专业职务管理、合同类型管理、政治面貌管理;系统字体进行管理;不同合同类型人员显示颜色设置;合同到期人员提前提醒设置;数据库备份,数据库联接维护等。
1.1 系统的任务
企业人事管理系统主要负责管理用户的人事活动信息和人事活动日志。一个完善的企业人事管理系统的任务主要包括以下几项:
(1)人事活动管理,主要提供快速的目录查询和人事活动提醒服务,并记录人事活动日志。
(2)联系人管理,负责管理群组信息和联系人信息,设置优先级,并提供目录查询和打印功能。
(3)统计分析,负责对联系人信息、人事活动提醒和人事活动日志进行统计。
(4)系统管理,主要负责管理用户信息、权限设置、用户登录以及系统初始化。
1.2 系统的目标
企业人事管理系统是通过计算机方式集中管理人事活动信息和人事活动服务的系统,有以下几个目标:
(1)更好地保存用户的联系方式,提供目录查询和打印服务。
(2)提供人事活动提醒服务,通知用户所需进行的人事活动。
(3)详细记录用户的人事活动日志,提供日志查询分析功能。
(4)根据用户权限来设置人事活动服务,提供信息的安全性。
1.3 系统开发方法
本系统开发采用的是结构化系统开发方法,结构化系统开发方法就是结构化开发方法,工程化的系统开发方法和生命周期方法的结合。其基本思想是:用系统工程的思想和工程化的方法,按用户至上的原则、结构化、模块化、自顶向下地对系统进行分析与设计,自底向上地进行实施。结构化系统开发方法的特点:
(1)系统观点。
(2)严格区分工作阶段,每个阶段都有明确的任务和应得的成果。
(3)自顶向下的分析与设计和自底向上的系统实施。
(4)工作成果文档化,文档资料规范化、标准化。
此系统之所以采用这种开发方法是因为结构系统开发方法的整体思路清楚,能够从全局出发步步为营,减少返工,有利于开发质量;设计工作中阶段性强,每一阶段均有工作成果出现;每一阶段的工作成果是下一级工作的依据,工作进度比较容易把握,有利于系统开发的总体管理和控制。另外,由于该方法强调从整体来分析和设计整个系统,因此在系统分析时,可以诊断出原系统中存在的问题和结构上的缺陷,这一点是其他方法难以做到的。
1.4 可行性分析
可行性是指组织内外当前的具体条件下,进行某项目的必要性和可能性。若系统开发是必要的,则进一步从技术、经济、管理上分析其可行性。
1)经济可行性
利用计算机对企业人员进行合理优化地管理,可以提高员工的工作热情,同时还可以为领导们做出正确的决策提供参考,这些都有利于公司的业务发展和效益的提高。
2)技术可行性
在技术难度方面,Visual Basic 开发工具与SQL Server 2000 适合开发一些中小型的系统,在指导教师的帮助和参考网上一些相关资料,使得开发这样一套企业人事管理系统软件成为一种切实可行的方案。
3)组织管理的可行性
开发企业人事管理系统受到企业内部领导层的高度重视,同时广大员工也反响强烈,有利于促进公司的业务发展和合理的人事管理。系统需求分析
2.1 需求分析的重要性 需求分析工作是系统生命周期重要的一步,也是决定性的一步。忽略需求分析往往会付出沉重的代价。大量实践表明,信息系统产生的许多错误都是由于需求定义不准确或错误导致的,而且,如果在需求定义阶段发生错误,则修改这些错误的代价是非常高的,并随着开发周期的进展,改正错误或在改正错误时引入的附加错误的代价是按指数增长的。因此,系统开发中的需求定义是系统成功的关键一步,必须引起足够的重视。企业人事管理系统中一项重要的工作就是录入和校对员工的基本信息和人事活动提醒,由于人数多,细节多,人工处理很容易丢失资料或出现不准确的情况,因此采用计算机进行企业人事管理,根据具体情况进行需求分析。
2.2 企业人事管理系统的功能结构
从业务角度来看,管理信息系统应该支持整个组织在不同层次上的各种功能。各种功能之间又有各种信息联系,构成一个有机的整体及系统的业务功能结构。根据以上对人事管理系统的任务和目标的分析可以看出,一个标准的人事管理系统应该包含如图1所示的一些功能。每个功能模块又都包含一系列的子模块。
图1 “企业人事管理系统”功能模块图
1)人事活动管理
“人事活动管理”模块主要用于提供快速的目录查询和人事活动提醒服务,并记录人事活动日志。
(1)“分类查询”模块:“分类查询”模块负责为用户提供目录查询功能。用户可以进行精确查询,也可以进行模糊查询,从而快速查找所需要的人事活动信息。不同群组权限的用户可以查询不同群组的联系人。
(2)“人事活动提醒”模块:“人事活动提醒”模块负责用户提供人事活动提醒功能。提醒信息主要包括提醒ID、提醒主题、提醒时间、提醒对象、联系人、联系方式、提醒内容、录入人员和是否完成等。提醒对象是指那些需要被提醒进行人事活动的公司员工,录入人员是登录的用户,联系方式主要有地址、办公电话、手机号码、邮箱、MSN和QQ号码等。
一般用户只能看到和自己相关的提醒信息,管理人员可以看到所有的提醒信息。当用户已经完成人事活动事,需要将提醒信息的“是否完成”属性标志为“完成”。
(3)“人事活动日志”模块:“人事活动日志”模块负责记录用户的人事活动日志。一般用户和管理人员只能看到和自己相关的日志信息。人事活动日志主要包括日志ID、人事活动主题、人事活动时间、人事活动人员、联系人、联系方式、人事活动内容和录入人员等。人事活动人员是那些进行人事活动活动的公司员工,录入人员是登录的用户,联系方式主要有地址、办公电话、手机号码、邮箱、MSN和QQ号码等。
2)联系人管理
“联系人管理”模块负责管理群组信息和联系人信息,设置优先级,并提供目录查询和打印功能。
(1)“群组设置”模块:“群组设置”模块负责管理联系人的群组信息。用户可以通过建立群组来管理联系人信息。群组信息主要包括群组ID、群组名称、优先级、建立日期、群组简介和录入人员等。(2)“联系人设置”模块:“联系人设置”模块负责设置联系人信息,并对其进行添加、修改、删除和查询等操作。联系人信息主要包括如下几项。
①基本信息:联系人ID、姓名、群组ID、优先级、性别、身份证号、出生日期、籍贯、民族;
②工作信息:工作单位、职务、职称、工作描述;
③教育背景:毕业院校、学历、专业;
④联系方式:地址、办公电话、住宅电话、手机号码、传真、邮箱、MSN、QQ;
⑤其他信息:个人爱好、特长。
(3)“优先级设置模块”:“优先级设置”模块负责设置群组和联系人的优先级。
(4)“查询打印”模块:“查询打印”模块负责提供目录查询和打印功能。
3)统计分析
“统计分析”模块主要负责对联系人的信息、人事活动提醒和人事活动日志进行统计分析。
(1)“联系人统计”模块:“联系人统计”模块负责对联系人进行统计分析,通过它,用户可以更加方便地了解目前各群组拥有的联系人数目。
(2)“提醒统计”模块:“提醒统计”模块负责对人事活动信息进行统计。可以按照人事活动提醒信息中的联系人,提醒时间和提醒对象分别进行统计分析。
(3)“日志分析”模块:“日志分析”模块负责分析人事活动日志。可以按照人事活动日志中的人事活动时间、人事活动人员和联系人分别进行统计分析。
4)系统管理
“系统管理”模块主要负责用户权限管理,包括用户管理、密码维护、重新登录和初始化。
(1)“用户管理”模块:“用户管理”模块负责管理用户信息。用户信息包括用户ID、用户名称、用户类别(普通员工、管理人员)、密码、模块权限、电话和邮箱等。权限主要包括对一级模块和二级模块的使用权限、以及对各群组内联系人的查询权限。管理人员具有所有模块和群组的使用权限,普通员工仅具有“人事活动管理”模块的使用权限。可以对群组查询权限进行配置。
(2)“密码维护”模块:“密码维护”模块负责维护用户密码信息,为用户提供更改密码的功能。
(3)“重新登录”模块:“重新登录”模块主要用于给用户提供重新登录功能。
(4)“初始化”模块:“初始化”模块主要负责提供初始化数据的功能。可以有选择地对数据表进行清空操作。数据库分析设计
表1 数据表及其用途 根据系统需求分析,系统需要建立5个表,其用途说明如表1所示。
3.1 数据字典
表2到表6给出了5个数据表(提醒信息表、人事活动日志表、群组信息表、联系人信息表、用户信息表)的具体描述,包括字段名称、数据类型、可否为空和说明。1)提醒信息表
表2 提醒信息表
2)人事活动日志表
表3 人事活动日志表
3)群组信息表
表4 群组信息表
4)联系人信息表
表5 联系人信息表
5)用户信息表
表6 用户信息表
3.2 创建数据库 在创建数据库之前,用户需要安装MS SQL Server 系列的数据库服务器。直接手工建立数据库。打开SQL Server企业管理器,新建一个数据库,数据库名为“企业人事管理”,然后按照数据字典建立表和表的关联。系统设计与实现
通过数据库分析设计,已经完成了所有的后台工作,现在需要通过Visual Basic来编写数据库系统应用程序。
4.1 创建工程项目
启动Visual Basic6.0后,单击【文件】→【新建工程】命令,在弹出的对话框中选择【标准EXE】选项,然后单击【确定】按钮。在项目的【属性】面板.中将项目的“Name”属性值改为“企业人事管理”。
4.2 创建系统主窗体4.3 创建公用模块
为了能够对数据库访问进行集中处理,需要创建一个专门访问数据库的公用模块。在项目资源管理器中为项目添加一个模块,并将其保存为OPeratDataBase.bas。
1)OPeratDataBase.bas OPeratDataBase.bas公用模块主要对数据库进行操作,包括以下5个函数:
① GetConnStr()As String 函数,返回链接字符串,用来设置数据库连接字符串;
②OpenConn(ByRefConn As ADODB.Connection)As Boolean函数,返回布尔值,用来打开数据库连接;
③ ExecuteSQL(ByVal SQL As String,ByRef msg As String)函数,用来执行SQL语句;
④ SelectSQL(ByVal SQL As String,ByRef msg As String)As ADODB.Recordset函数,返回Recordset,用来执行查询语句;
⑤ BatchSelectSQL(ByVal SQL As String,ByRef msg As String)As ADODB.Recordset函数,返回Recordset,用来执行批处理。
2)PubilicVar.bas 为了实现全局变量,另外创建一个全局变量模块PublicVar.bas,主要有3个全局变量,如下所示:
①LonginSucceeded全局变量,用来保存用户登录是否成功的标志;
②UserID全局变量,用来保存用户ID;
③ConnectionString全局变量,用来保存数据库链接字符串。
4.4 创建其它模块
创建“人事活动管理”模块、“联系人管理”模块、“统计分析”模块和“系统管理”模块 系统扩展
企业人事管理系统提供了人事活动管理、联系人管理、统计分析和系统管理4大功能,但是作为一个完善的企业人事管理系统,还有不足之处。系统还应该具有多级群组设置和联系人转移群组的功能。企业人事管理系统也需要结合企业的具体业务进行分析设计,以更好地满足用户的要求。
第四篇:教学管理系统——详细设计说明书范文
五、详细设计说明书
1.引言.............................................................................................................................................1
1.1编写目的............................................................................................................................1 1.2项目背景............................................................................................................................1 1.3定义....................................................................................................................................1 1.4参考资料............................................................................................................................2 2.总体设计.....................................................................................................................................3
2.1需求概述............................................................................................................................3 2.2软件结构............................................................................................................................5 3.程序描述.....................................................................................................................................8
3.1登陆模块............................................................................................................................8 3.2管理员模块........................................................................................................................8
3.2.1学生信息管理子模块............................................................................................8 3.2.2课程信息管理子模块............................................................................................9 3.2.3系别信息管理子模块..........................................................................................10 3.2.4班级信息管理子模块..........................................................................................10 3.3教师管理模块..................................................................................................................11 3.3.1学生成绩录入子模块..........................................................................................11 3.3.2教师个人信息子模块..........................................................................................12 3.3.3不合格成绩单统计..............................................................................................12 3.4学生管理模块..................................................................................................................13 3.4.1学生个人信息查询子模块....................................................................................13 3.4.2成绩查询子模块..................................................................................................14 3.4.3课程查询子模块..................................................................................................14 3.4.4在网上进行选修课程子模块..............................................................................15
五、详细设计说明书
教学管理系统
1.引言
1.1编写目的
根据《需求规格说明书》、《概要设计说明书》,在仔细考虑讨论之后,我们对《教学管理系统》软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。本说明书确定系统的详细功能模块和数据结构,为后一阶段开发系统提供最详细的依据材料。
1.2项目背景
项目名称:教学管理系统 项目任务提出者: X X 工业大学 项目开发者:***、***、***、*** 项目用户: X X 工业大学所有管理人员和学生
随着学校教育水平的不断提高,学校规模不断扩大,传统的C/S结构的信息管理软件已经远远不能够满足学校的需求,已经成为学校进一步发展的瓶颈。经总结,这类信息系统软件存在如下的缺陷:①软件维护的费用高。②信息查询不方便。③不利于远程管理。④软件的可操作性不高。
为了弥补这些缺陷,消除影响学校进一步发展的瓶颈,降低学校的信息软件维护成本,进一步方便学生使用,方便教职工管理,我们项目组决定在这次软件开发工程中,开发基于B/S架构的教学管理系统。
1.3定义
JavaWeb:是用Java技术来解决相关web互联网领域的技术总和。MySQL:MySQL是一个小型关系型数据库管理系统。
MVC:模型(Model),视图(View)和控制Controller)。目的是实现Web系统的职能分工。
主键:数据库表中的关键域。值互不相同。外部主键:数据库表中与其他表主键关联的域。页 共
页
五、详细设计说明书
教学管理系统
3.程序描述
3.1登陆模块
★ 功能:
对用户进行身份验证,通过验证则登录相应系统,然后调用各个子模块。建立与数据库连接 获取系统设置 运行主对话框
退出系统时断开与数据库的连接 ★ 输入项目:
输入用户名和密码。★ 输出项目:
不同类型用户的欢迎界面。★ 存储分配: 程序运行时需要占用一定内存。
★ 限制条件: 本系统只允许在学校内网中使用。
★ 测试要点:
数据库连接情况:正常情况,数据库文件缺少,外部系统异常。系统设置获取:正常情况,外部系统异常。
对用户输入的响应:合法输入,能够正常调用子模块;
非法输入,系统能否辨别,并作出响应(提出警告);
子模块的异常状况,系统能否及时做出响应。
3.2管理员模块
仅系统管理员可登录此模块,可以对这个系统的所有用户进行各种操作。
3.2.1学生信息管理子模块
★ 功能: 页 第 16 页 共
第五篇:系统防屏蔽详细报告
目录
第一章工程概述
一、工程概述
二、工程内容与范围
三、设计依据
第二章技术设计方案
一、钢板焊接式电磁屏蔽室
二、机房接地
三、其它屏蔽部分
第一章工程概述
一、工程概述
随着信息技术的发展,互联网已经成为人们日常生活中必不可少的一部分,越来越多的人利用网络进行沟通、工作甚至购物。对于网络中的信息,其安全性和保密性显得尤为重要。
计算机及其外围设备在进行信息处理时会产生电磁泄漏,即电磁辐射。现有的一些探测设备,能在一公里以外收集计算机站的电磁辐射信息,并且能区分不同计算机终端的信息。如“黑客”们利用电磁泄漏或搭线窃听等方式可截获机密信息,或通过对信息流向、流量、通信频度和长度等参数的分析,推出有用信息,如用户口令、账号等重要信息。机房是网络设备比较集中放置的地方,是放置重要数据交换设备和服务器设备的地方,网络中的大部分数据均会汇集到这些设备中进行数据交换。所以,机房基础设施的建设对于保护内部设备及数据有着举足轻重的作用。根据电磁原理,我们可以知道,作为数据传输的通信线路,工作时都会在线缆周围形成不同强度的磁场,并向四面传播,我们可以利用相关的设备和仪器对其进行探测,再经过进一步处理,就可以获得线缆中传输的数据信息。整个过程我们可以称之为电磁泄漏。所以,网络和数据机房作为网络信息汇聚的中心,应该有较好的安全措施来确保各类信息的安全。为了满足网络机房的信息保密、防止电磁泄露、防干扰、防辐射要求,本工程针对对网络机房的使用需求,现场实现情况,并结合国家的标准规范,设计了此网络机房屏蔽系统工程设计方案。本网络机房净高3.8米,梁下高3.3米,面积约20平方米。
二、工程内容与范围
计算机屏蔽工程是一种涉及到屏蔽室抗干扰技术、空调技术、供配电技术、自动检测与控制技术、综合布线技术以及净化、消防、建筑和装饰等多种专业的综合性工程。本网络机房净高3.8米,梁下高3.3米,面积约20平方米。根据客户要求,本工程机房屏蔽系统主要包括机房基础环境屏蔽部分,机房内的通信线缆、机房设备、供配电部分由其它专业来考虑。本工程主要内容如下:
1、机房整体屏蔽环境:包括地面、墙面、吊顶、通风口、出入门、窗户等作C级机房屏蔽系统。
2、机房接地:包括屏蔽体的接地,防雷带接地,以及系统工作接地。
3、机房屏蔽设备柜:预留两台机房屏蔽设备柜,供以后设备使用。
三、设计依据
1、技术依据
GB12190-90<高性能屏蔽室屏蔽效能设计方案>
YDJ26-89中华人民共和国邮电部标准<通信局(站)接地设计暂行技术规定>
BMB3-1999《处理涉密信息的电磁屏蔽室的技术要求和测试方法》
GB50222-95<建筑物内部装修设计防火规范>
GB8702-88<电磁辐射防护规定>
GB9361-88<计算机场地安全要求>
GB2887-89《计算站场地技术条件》
GJB20219-94《军用屏蔽机房通用技术要求检测》
GB6650-86<计算机机房用活动地板技术条件>