网络工程专业毕业设计(论文)网络文件安全传输系统设计与实现.doc

上传人:文库蛋蛋多 文档编号:3991461 上传时间:2023-03-30 格式:DOC 页数:31 大小:368KB
返回 下载 相关 举报
网络工程专业毕业设计(论文)网络文件安全传输系统设计与实现.doc_第1页
第1页 / 共31页
网络工程专业毕业设计(论文)网络文件安全传输系统设计与实现.doc_第2页
第2页 / 共31页
网络工程专业毕业设计(论文)网络文件安全传输系统设计与实现.doc_第3页
第3页 / 共31页
网络工程专业毕业设计(论文)网络文件安全传输系统设计与实现.doc_第4页
第4页 / 共31页
网络工程专业毕业设计(论文)网络文件安全传输系统设计与实现.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《网络工程专业毕业设计(论文)网络文件安全传输系统设计与实现.doc》由会员分享,可在线阅读,更多相关《网络工程专业毕业设计(论文)网络文件安全传输系统设计与实现.doc(31页珍藏版)》请在三一办公上搜索。

1、目 录摘 要IIIABSTRACTIV前 言V第1章 绪论11.1 国内外研究现状与发展趋势11.1.1 国内研究现状11.1.2 国外研究现状11.2 课题发展趋势11.3 开发平台与技术的选择及介绍31.3.1 开发环境的介绍31.3.2 Windows Sockets 网络编译接口概述31.3.3 VC+ 6.0开发平台简介3第2章 需求分析与可行性研究42.1 可行性分析42.2 需求分析42.2.1 功能要求42.2.2 性能要求42.2.3 系统流程图与数据流图4第3章 总体设计73.1 体系结构设计73.1.1 Win32 编译原理73.1.2 设计体系结构93.2 功能模块划分

2、113.3 数据结构设计123.4 用户界面设计133.4.1 主显示界面133.4.2 用户文件传输界面13第4章 详细设计及编码实现154.1 程序运行平台设备154.2 数据报UDP协议的应用与实现154.2.1 UDP协议154.2.2 设计思路154.2.3 实现过程164.2.4 用户界面模块详细设计174.2.5 服务端与客户端的安全功能实现184.3 本章小结19第5章 系统测试205.1 白盒测试205.2 黑盒测试205.2.1 测试环境配置215.2.2 功能性测试215.2.3 容错性测试215.2.4 文件测试215.2.5 测试用例21总 结23参考文献24致 谢2

3、5摘 要本文讨论了Windows环境下网络文件传输程序的设计思路和设计方法。其中网络通信部分采用流行的TCP/IP协议。最终的目的是安全快速的进行网络间的传输。在设计中工序上也利用了多种手段进行编译。设计主要分为五大工序,分别为介绍选题背景及意义和国内外研究现状;进行需求分析并提出解决方案;根据解决方案对系统进行设计;详细设计及代码的实现;对文件传输系统进行测试并得到测试结果。其中程序采用典型的C/S(服务器/客户端)构架。用Socket编程设计网络通讯,Windows Sockets是一套开放的、支持多种协议的Windows下的网络编程接口。界面设计采用Windows MFC框架。通过对明文

4、文件加密进行传输,利用VC+语言进行传输软件设计。本文最终设计了一个简易版本的文件安全传输软件,包括文件传输、建立传输服务器等功能。关键词:局域网;文件加密;安全传输;ABSTRACTThis article discusses the Windows environment, the network file transfer program design ideas and methods. Some of which network communications using the popular TCP / IP protocol. The ultimate goal is safe

5、and fast transport between the network. In the design process has also been used on a variety of means to be compiled. Design process is divided into five, namely to introduce the research background and significance and research status; the needs analysis and propose solutions; solution to the syst

6、em under design; detailed design and implementation of the code; of the file transfer system to test And get results. One program uses the typical C/S (server/client) architecture. Programming with the Socket network communication, Windows Sockets is an open, multi-protocol support of Windows, netwo

7、rk programming interfaces. Interface design using Windows MFC framework. Through the transmission of encrypted plain text files, using VC + + language transfer software design. This final design of a simple version of the file transfer software security, including file transfer, the establishment of

8、 transmission server functions.KeyWords:LAN; file encryption; secure transmission;前 言当今世界,各种先进的科学技术飞速发展,给人们的生活水品带来了巨大的影响,并且极大的改善了我们的生活方式。在以计算机科技为代表的网络安全传输技术的发展更是日新月异,从各个方面影响和改变这我们的生活。而其中的计算机网络技术的发展更是迅速,即将渗透到了我们学习生活工作的各个领域,人们已经离不开计算机网络,并且随着因特尔的迅速普及,给我们的学习与生活条件带来更大的有力条件,我们与外部世界的联系也随之更加的紧密和快速。随着我们对于信息资

9、源共享一级级信息交流的迫切需求,促使了网络技术的产生和快速发展,计算机网络的产生和使用为人类信息闻名的发展带来了革命性的变化。自1995年中国教育教研网(CERNET)建成后,各个特色网的建设已经进入到了一个蓬勃发展的阶段网络的建成和使用,对于提高教学和科研的质量都有着至关重要的作用。而安全有效的传输也逐渐成为了信息时代的新宠,正逐渐的出现在人们的眼球成为焦点。通过本毕业设计课题的论述,希望能够让大家了解网络安全传输的过程以及所涉及的各种网络技术,并能够对今后大家在学习网络技术知识或是进行网络传输的安全性中有所借鉴。第1章 绪论1.1 国内外研究现状与发展趋势1.1.1 国内研究现状目前,关于

10、文件传输和实时语音传输的应用程序有很多,在日常的网络应用中,文件传输已经成为继即时通讯之后第二大的网络基础应用,而点对点的文件发送是最方便的文件传输手段1。越来越多的网民或是商业用户都采用这种方式发送文件,目前许多即时通讯软件,例如QQ、MSN都有点对点文件传输功能,同时还出现了专门的点对点文件传输工具,如快递通等。但是这些程序往往比较庞大,占用资源较多,并且还会受到网络速度和防火墙因素的限制,因此对于局域网内的点对点传输来说不是最佳的选择在计算机网络日益扩大和普及的今天,计算机对安全的要求更高、涉及面更广。其内容主要包括:1实体安全 实体安全是指对场地、环境、设施、设备、载体、人员采取的各种

11、安全对策和措施;2数据传输网络安全 是指信息在数据传输网络中传输时,如何保证其安全性的问题,避免在传输途中遭受非法窃取、篡改等;3软件安全 它涉及信息在存储和处理状态下的保护问题;4信息安全 即数据安全,是指系统有能力抵抗外来非法入侵者对信息的恶意访问、泄漏、修改和破坏等,即:机密性、完整性、可用性。1.1.2 国外研究现状国外大量的安全事件和研究成果揭示出系统中存在许多设计缺陷,存在情报机构有意埋伏的安全陷阱的可能。例如在CPU芯片中,在发达国家现有技术条件下,可以植入无线发射接收功能;在操作系统、数据库管理系统或应用程序中能够预先安置从事情报收集、受控激发破坏程序。通过这些功能,可以接收特

12、殊病毒接收来自网络或空间的指令来触发CPU的自杀功能、搜集和发送敏感信息;通过特殊指令在加密操作中将部分明文隐藏在网络协议层中传输等。综上可得安全传输正被全球关注着。1.2 课题发展趋势通信是国家的神经系统,而信息安全保密则直接维系着国家安全和经济发展。因此,密码技术和保密通信迅速从官方走向民间,并得到前所未有的发展和应用2。对存储和在分布式系统中传送的机密或敏感数据的各种威胁,既来自把专用商业信息视为情报搜集目标的国家情报机构,也来自外国的工业和经济间谍,商业企业正变得不仅与专用信息的秘密性,而且与专有信息的完整性和可靠性休戚相关,例如加密技术正被用以满足电子资金汇兑和电子数据交换等领域的要

13、求。众所周知,加密和通信关系密切,无论密码研究使用还是密码分析破译,都与通信密切相关。加密随通信的发展而发展,通信的深刻变革给加密提出更高的要求,计算机和微电子技术为实现这个要求提供可靠的保证,而数字技术的发展则为实现这个要求提供可能性3。加密技术的发展趋势包括:1数字化随着通信领域大力发展数字传输和数字交换,大力组建标准化数据通信网络,大力采用数字话音加密,加密必然由现在的模拟和数字并用向数字化发展。2高速化、自动化通信向宽带、高速、大容量发展,密码必然向高速化、自动化发展。密码强度再高,如果速率上不去,也是枉然,而自动化则是保证。3一体化、标准化通信领域将进一步发展综合业务数字网,加密领域

14、也将相应地进一步发展整体加密(总体加密、干线加密),进一步推进密码标准化。4高强度化信息爆炸、信息对抗以及出现计算机犯罪等事实,导致人们迫切需要对通信和数据实行可靠的保护,因此,密码必须向高强度化方向发展。5现代化利用密码编码、密码分析新成果,计算机、软件、大规模集成电路新技术,结合通信发展开发新密码体制(如量子密码、混沌密码),推出新密码设备,实现密码现代化。密码技术是信息安全的核心技术,它已渗透到大部分安全产品之中,正向芯片化方向发展。在芯片设计制造方面,目前微电子水平已经发展到0.1微米工艺以下,芯片设计的水平很高4。我国在密码专用芯片领域的研究起步落后于国外,近年来我国集成电路产业技术

15、的创新和自我开发能力得到了提高,微电子工业得到了发展,从而推动了密码专用芯片的发展。加快密码专用芯片的研制将会推动我国信息安全系统的完善。信息安全问题涉及到国家安全、社会公共安全,世界各国已经认识到信息安全涉及重大国家利益,是互联网经济的制高点,也是推动互联网发展、电子政务和电子商务的关键,保护信息安全是目前面临的迫切要求。通过做毕业设计题目“文件安全传输系统设计”可以从中学习VC+编程,这是课堂之外学的编程知识,通过对它的学习,可以比其他很多同学多掌握一种非常有用的编程工具。还可以从此次设计中学习文件加密技术和以太网通信技术,文件加密技术是为完善现代internet的安全性而产生,是inte

16、rnet发展的必然产物,学习它很有必要;而以太网通信技术与本专业很相关,通过对它的学习,可以更深入的理解通信领域的知识,对本专业的就业很有帮助。1.3 开发平台与技术的选择及介绍1.3.1 开发环境的介绍将设计的是一个面向中小型机构内部通信需求的文件安全传输软件,无论是硬件还是软件都要选择合适,要求如下:开发设备应该完备;开发机器的性能必须稳定;操作系统的选择必须恬当;要求运行机配置尽可能低档。对此,我们选择的硬件环境和软件环境如下:1硬件环境开发该系统应尽可能采用高档的硬件。因此,应采用更好的配置。处理器应Intel Pentium P4或更高处理器。内存应512MB或更高。网络为局域网。2

17、软件环境选择Windows XP平台,并采取优化的算法编写程序。因VC6.0具有友好的集成开发界面、面向对象的可视化开发模式、良好的数据库及多媒体应用支持以及高效的软件开发与程序运行功能更大,开发效率更高,不仅是网络环境下的优秀前端开发语言和工具,也是服务器端Web编程的优秀工具。加之本身对该系统的操作最为熟练,所以选择该平台为开发环境。操作系统:Windows XP 开发工具:VC+6.0。1.3.2 Windows Sockets 网络编译接口概述既然选定了WINDOWS平台,而又要开发网络通信程序,所以可以选择WINDOWS的SOCKETS编程接口,Windows Sockets是一套开

18、放的、支持多种协议的Windows下的网络编程接口。现在的Winsock已经基本上实现了与协议无关,你可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议5。1.3.3 VC+ 6.0开发平台简介开发平台我选用了VC 6.0,因为一直以来都使用VC 6.0进行学习,对这个IDE最为熟悉,再者VC同样是由微软开发的系统,与其操作系统,网络接口具有最为密切的契合优点,所以选择了VC 6.0。第2章 需求分析与可行性研究2.1 可行性分析成本可行性分析:因为本软件只做开发学习使用,所以暂且不考虑经济成本及盈利问题。技术可行性分析:首先搭建好开发所需要的软硬件平台,并进行了合理的

19、需求分析,做好了充分的前期准备工作,其次因为本程序的平台将基于WINDOWS,将要使用网络通信技术,与之相类似的更大规模的INTERNET通信工具产品也已有例在先,所以这个程序的开发在技术上是完全可行的。2.2 需求分析2.2.1 功能要求本论文是针对文件传输系统的当前研究状况,主要研究文件安全传输的应用设计与实现。本论文在研究经典算法的基础上,根据网络应用的具体情况,在 VC+平台上,设计并实现了将需要传输的文件经过加密以后生成密文文件,然后经过信道传输到网络的另一端再进行解密得到原始数据的安全传输系统,从而保证敏感数据在网络上传输的机密性和安全性。2.2.2 性能要求首先要求程序要完全可靠

20、,可以应付种种由于系统问题产生的错误,比如初始网络失败,服务器突然掉线等。要求提前设想到类似的尽可能多的可能发生的事件,做出相应的应对措施。程序要有良好的容错性,当用户进行非法操作时或者系统本身出现问题时要能以最好的方式退出程序,避免发生程序假死现象6。开发文档要有好的易理解性,如果系统又要交由别人接手开发,或者自己由于种种原因需要进行二次开发,那么要保证以后能够清晰的理解整个系统的设计思路以及实现细节。要求程序对所运行之系统的硬件条件要求尽可能低,运行时内存占用尽可能小,响应速度要尽可能快。并且不发生内存泄漏之类影响系统运行的错误事件。并且要求易于维护及扩展。所以应该采用模块化开发,各个模块

21、之间不要有太多的联系,以免维护困难。2.2.3 系统流程图与数据流图系统流程图System Flowchart是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。数据流图:简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。1系统流程分析本系统分为两大部分:服务器和客户端。在服务器端,当输入正确的IP地址后启动服务器执行相关操作,如添加或共享文件并对文件进行扫描

22、显示。在客户端,输入相应的IP地址后与服务器连接,即可查看或共享文件。具体系统流程如图2.1所示。图2.1 系统流程图2跟据系统流程进行分析得到数据流图,如图2.2所示。图2.2 数据流图 第3章 总体设计3.1 体系结构设计3.1.1 Win32 编译原理所谓的Win32开发,就是在C语言的层面上,直接使用Win32 API开发Windows应用程序或者系统程序。虽说现在直接用Win32 API开发应用程序的人已经不多了,但是深入理解Windows系统程序设计原理,仍然是成为Windows开发高手的良好途径7。所谓的Win32,其实是一个API规范。下面是进行直接的WIN32 SDK方式编程

23、的基本思路或者说是一个框架:一个WINDOWS程序分为程序代码和UI(User Interface 用户接口)资源两大部份,两部份最后以RC编译程序整合为一个完整的EXE文件。所谓UI资源是指功能菜单、对话框、程序图标、光标形状等等东西。RC编译器(RC.EXE)读取RC 文件的描述后将所有UI资源文件集中制作出一个.RES 文件,再与程序代码结合在一起,这才是一个完整的 Windows可执行文件。1TCP/IP体系结构 TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括图3.1所示内容。图3.1 TCP/IP协议I

24、P: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。 ARP: 地址解析协议(Address Resolution Protocol) 此协议将网络地址映射到硬件地址。RARP: 反向地址解析协议(Reverse Address Resolution Protocol) 此协议将硬件地址映射到网络地址 ICMP: 网间报文控制协议(Internet Control Message Protocol)此协议处理信关和主机的差错和传送控制。 TCP: 传送控制协议(Transmi

25、ssion Control Protocol) 这是一种提供给用户进程的可靠的全双工字节流面向连接的协议。它要为用户进程提供虚电路服务,并为数据可靠传输建立检查。(注:大多数网络用户程序使用TCP) UDP: 用户数据报协议(User Datagram Protocol) 这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。 FTP: 文件传输协议(File Transfer Protocol) 允许用户以文件操作的方式(文件的增、删、改、查、传送等)与另一主机相互通信。 SMTP: 简单邮件传送协议(Simple Mail Transfer Protocol) SMTP协议为系统

26、之间传送电子邮件。 TELNET:终端协议(Telnet Terminal Procotol) 允许用户以虚终端方式访问远程主机 HTTP: 超文本传输协议(Hypertext Transfer Procotol) TFTP: 简单文件传输协议(Trivial File Transfer Protocol)2TCP/IP特点 TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面有两种形式:一是由内核心直接提供的系统调用;二是使用以库函数方式提供的各种函数8。前者为核内实现,后者为核外实现

27、。用户服务要通过核外的应用程序才能实现,所以要使用套接字(socket)来实现。如图3.2所示。图3.2 TCP/IP协议核心与应用程序关系3.1.2 设计体系结构通常的通信工具,都采用客户机/服务器(C/S)体系结构,C/S结构是这样的一种结构:它包括一个客户机(或前端),一个服务器(或称后端),客户机的作用是访问和处理远程服务器上的数据,服务器的作用是接收和处理客户机的数据请求。有时,可能有多个客户向同一个服务器同时请求服务,这就需要服务器决定怎样处理这些请求。Client/Server结构是当前数据库应用程序中极为流行的一种方式。尤其是网络技术的发展,使得当前很多系统都采用这种方式进行构

28、造,其最大的优点是将计算机工作任务分别由客户端和服务器端来共同完成,这样有利于充分合理的利用系统资源8。另外它的服务器端还可以将信息集中起来,任何客户机都可以通过访问服务器而获得所需的信息。Client/Server模型最终可归结为一种“请求/应答”关系。一个请求总是首先被客户发出,然后服务器总是被动地接收请求,返回客户需要的结果。在客户发出一个请求之前,服务进程一直处于休眠状态。一个客户提出请求后,服务进程被“唤醒”并且为客户提供服务,对客户的请求做出所需要的应答。如图3.3所示。图3.3 客户机服务器通信结构示图但是具体到现在这个项目,如果要做成C/S结构,需要在局域网内架设一个服务器,而

29、在一个局域网中,如果网络结构不是集中式的而是分散式的,那么可能没有一台机器来充当服务器这个角色,比如我们的校园宿舍网络就是如此。所以说,本设计是每个程序自己既充当客户机又充当服务器,自己维护网络上的客户机列表,每两个客户端要进行连结时都直接连通而不用通过服务器来进行信息的中转,这样虽然损失了一些性能及带宽资源,但是对通信量不是很大的局域网,这点损失可以由换得的专门架设服务器的优点来弥补。所以,系统结构将设计成如图3.4所示方式。图3.4 客户机直接通信结构示图当然,上述图示只是通信数据的一个流向示意图,不是真正的网络拓扑结构,也就是说其中的服务器可能只是装了服务器软件的一台普通工作站。在底层的

30、数据流向中,也就是网络的物理连结,并非我们这个软件所能决定的,我们的所做都是在一个透明的数据通信层之上的9。为了方便设计的演示和使用,在系统的制作过程中我将服务器和客户端集成到了一起,这样在局域网中的任何计算机只要安装了本软件就既成了客户端也可以作为服务器端来使用。3.2 功能模块划分因为在本系统中,每一个客户端系统都是相同的也就是具体到通信双方而言其实是对称的,所以只需要考虑一个系统就可以了。根据以上的系统需求分析,以及体系结构设计,可以对系统进行如下的功能模块图3.5及功能模块划分图3.6所示。图3.5 功能模块图主线程模块通信模块输入/输出模块网络扫描模块数据接收模块数据发送模块图3.6

31、 功能模块划分示图其中主线程模块完成对网络的初始化,然后启动两个子线程:服务端监听线程以及网络扫描模块线程,然后由网络扫描模块得到当前的网络用户分布情况,并填充相关的数据结构,然后生成用户列表界面显示给用户。通信模块又包括两个子模块:数据接收模块和数据发送模块,这两个模块都由系统定义的网络事件来触发。输入/输出模块用来响应用户双击用户列表的某一项要准备发送信息时的消息,以及当系统接收到某个网络用户发送来的消息,要将其显示给用户的时候。网络扫描模块是由主线程模块启动,进行网络扫描,确定哪些用户当前处于可到达状态,以及哪些可到达状态的用户安装有相应的通信软件,并启动后可以与之进行通信10。我觉得这

32、样的模块划分设计符合强内聚,弱耦合的原则。3.3 数据结构设计由于系统首先要维护一个网络用户列表,所以要设计一个数组。这个数组具体可为255行2列数组,每一行代表局域网中的一台主机,然后第一列代表其是否处于可到达状态,第二列代表其是否处于可通信状态。因为程序刚启动时的网络扫描阶段耗时较久,所以应当在程序启动后以一个人性化的界面提示用户不要以为程序无法响应了,暂时的缓慢是正常反应。这时候可以用del键判断当前有没有程序无法相应。其它的相关类皆由MFC的应用程序向导自动生成,我只需要在其中进行具体的功能代码添加即可。3.4 用户界面设计 3.4.1 主显示界面打开软件点击设置按钮进入监听状态。当扫

33、描完毕时后,在主显示界面中就会显示出局域网内所有当前在线的用户列表,并且显示哪些主机可以进行文件传输。并且由于显示是即时的,也就是扫描完一台马上显示出来,并且用户可以看到当前正在扫描哪一台机器,对方服务器上有多少共享文件。这样的设计也是比较合理的,如图3.7所示。图3.7 程序主显示界面3.4.2 用户文件传输界面启动客户程序,单击“连接服务器”菜单,弹出图3.8所示对话框。分别输入客户名称、服务器地址和端口号码。这里的端口号码必须与服务器端输入的端口号码相同,而服务器地址可以采用服务器名,使用hosts文件实现从Internet机器名到IP地址的映射。如果客户端和服务器在一台机器上运行,则在

34、“服务器地址”输入localhost或本机IP地址;如果在两台机器上运行,既可以输入服务器名也可以输入其IP地址。实际效果如图3.9所示。图3.8 程序文件传输界面按住中间传送文件按钮,会出现如3.9图示,选择要传送的文件,按确定即可。图3.9 选择传送的文件第4章 详细设计及编码实现4.1 程序运行平台设备1 硬件运行平台中央处理器CPU主频2GHZ以上;内存最小512MB,建议1G;硬盘最小30G,建议80G或以上。2软件运行平台程序开发环境程序开发工具:VC+6.0;程序运行环境:Windows XP Profintional或Win7或Vista。4.2 数据报UDP协议的应用与实现4

35、.2.1 UDP协议UDP协议(User Datagram Protocol)即用户数据报协议,它主要用来支持那些需要在计算机之间传输数据报的网络应用11。IP音响、实时监控系统等众多的客户/服务器模式的网络应用都需要使用UDP协议。与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP协议(网际协议)的顶层。UDP协议是“面向非连接”的协议,正式通信前不必与对方先建立连接,只要写好地址及接收人的地址并发送出去即可实现点到点通信。4.2.2 设计思路使用UDP进行数据传输,最主要的是解决文件传输的可靠性问题。为此,我们增加了数据流控制、差错处理,有序保证和安全保证等机制。通过增加

36、差错处理机制,使得数据报在传输过程中出错、或者丢失后能马上检测出来并被迅速地纠正或重传。网络环境会随熟练数据流的改变而改变,当数据流过大时很容易引起堵塞,那么这个时候就必须引入数据流控制机制提高网络的使用率和数据的可靠性。为提高数据的安全性,我们采取了数据加密的方法,它能够很好的防止数据被监视,大大提升数据的机密性。UDP数据报传送的具体流程图如图4.1所示。图4.1 UDP数据报传送流程图4.2.3 实现过程以下过程是本设计服务器端到客户端的文件传输过程,完成传输的说明。在服务器端,系统进行共享或发送数据文件,通过扫描将该数据上传到一共享空间内,在客户端进行重新扫描找到需求的数据,进行下载并

37、准确快速的下载该数据。下面用VC+实现该过程的部分代码:void CTransferDlg:OnAddsharefile() / TODO: Add your control notification handler code hereCFileDialog filedlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,All Files (*.*)|*.*|,NULL);filedlg.m_ofn.lpstrFile = new char1024;filedlg.m_ofn.lpstrFi

38、le0=0;filedlg.m_ofn.nMaxFile=1024;if(filedlg.DoModal()=IDOK)m_LocalShareFiles.RemoveAll();CListBox *list=(CListBox *)GetDlgItem(IDC_LOCAL_FILE_LIST);list-ResetContent();POSITION pos=filedlg.GetStartPosition();int i=0;while(pos)CString temp=filedlg.GetNextPathName(pos);m_LocalShareFiles.Add(temp);lis

39、t-AddString(temp);delete filedlg.m_ofn.lpstrFile;4.2.4 用户界面模块详细设计系统基本架构为基于对话框的MFC WIN32应用程序,所以以主框架模块由两个类构成,它们都是由MFC应用程序向导所生成类结构如图4.2所示。图4.2 类结构示图每一个基于MFC的WIN32程序中,都是通过一个由全局对象启动整个初始化过程的机制,因为根据C+的设计,一个全局对象的生成即其构造函数要先于程序的入口函数。所以,在这个对象的构造函数中可以做很多准备工作,这个对象就是程序主框架类的对象,具体到本程序中,即是上面讲到的类。4.2.5 服务端与客户端的安全功能实现

40、加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。 在航空学中,指利用航空摄影像片上已知的少数控制点,通过对像片测量和计算的方法在像对或整条航摄带上增加控制点的作业。解密出于信息保密的目的,在信息传输或存储中,采用密码技术对需要保密的信息进行处理,使得处理后的信息不能被非受权者(含非法者)读懂或解读,这一过程称为加密12。在加密处理过程中,需要保密的信息称为“明文”,经加密处理后的信息称为“密文”。加密即是将“明文”变为“密文”的过程;与此类似将“密文”变为“明文”的过程被称为解密。本程序主要实现服务器与客户端之间的

41、数据传输,实现安全功能就要把数据进行加密处理待客户端接收时进行解密,即完成了数据传输又达到了安全的目的。加密解密流程图如4.3所示。图4.3 加密解密流程图4.3 本章小结根据上一章的总体设计本章对本程序进行了详细的设计。首先介绍了本程序的运行平台设置,然后对程序的主要模块功能进行了功能介绍,包括服务器上传加密过程、客户端下载解密过程,并对部分模块进行了程序流程描述,绘制了程序流程图。综上对本程序的开发与延展,已基本确定了本程序的合理行与可行性。第5章 系统测试测试的目的是为了发现功能是否达到,或者是否有更多的缺陷。这里的缺陷是泛称的,它可以指功能的错误,也可以指性能低下,易用性差等等。测试总

42、是先假设程序中存在缺陷,再通过执行程序来发现并最终改正缺陷。理解测试的目的是个很重要的意识问题。如果说测试的目的是为了说明程序中没有缺陷,那么测试人员就会向这个目标靠拢,因而下意识地选用一些不易暴露错误的测试示例。这样的测试是虚假的。测试只能证明缺陷存在,而不能证明缺陷不存在13。这个真理告诉我们,对于一个复杂的系统而言,无论采取什么样的测试手段都不能证明缺陷已经不复存在。“彻底地测试”只是一种理想。在实践中,测试要考虑时间、费用等限制,不允许无休止地测试。 测试有助于提高软件的质量,但是提高软件的质量不能依赖于测试。因为做为一个本科毕业设计,本系统并不会真正发布到广大的用户群中去,所以只能做

43、测试,而无法完成测试。关于测试人员的安排,由本人做白盒测试,由同学帮助做黑盒测试。5.1 白盒测试1. 测试环境配置白盒测试可在开发系统的本机上直接进行,所以不需要进行特殊的配置。2. 正确性测试正确性测试又称功能测试,它检查软件的功能是否符合规格说明。由于正确性是软件最重要的质量因素,所以其测试也最重要。通过在程序的各个流程中插入断点进行单步跟踪发现,程序中各个模块皆可进行正常运行,数据也未发生异常现象14。5.2 黑盒测试黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试

44、,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试14。5.2.1 测试环境配置用二台机器通过集线器构成一个局域网,进行正确的网络配置,三台机器上都安装了WINDOWS操作系统,并安装了本软件的正确拷贝。5.2.2 功能性测试先在其中一台机器A上启动本软件,扫描可以发现另一台开机的B机器,但是因为B机器上的本软件尚未启动,所以显示为不可文件传输。当B机器启动了本软件后,它的扫描过程就不仅发现了A机是开机状态,而且检测到A机是可以文件传输的。另外,A机立即也发

45、现了B机的上线行为,并向用户发出了提示,然后此时,不管A,B双方,只要双击用户列表中相应的项目,即可启动发信对话框,进行信息的输入与发送,同时,对方均可进行正确的接收和回复。所以,功能测试为成功。本软件测试如下。表5-1 功能测试测试名称测试内容及结果安装状态A机器是否安装软件是B机器是否安装软件是链接测试能否观察相互状态行为是可否进行文件传输是通信测试文件丢失无能否进行接受与回复是5.2.3 容错性测试容错性测试是检查软件在异常条件下的行为。容错性好的软件能确保系统不发生无法意料的事故。 经检查,当用户输入无效操作时,系统总是能检测到无效操作,对用户进行相应的信息反馈,并合理的做出内部处理。

46、当系统本身发生错误,比如网络初始化失败,绑定套接字失败,数据读取失败等,都会进行相对应的正确处理。5.2.4 文件测试在本系统的开发过程中,因为是本科毕业设计,所以具有完备的开题报告,文献综述,任务书以及最终的论文做总结阐述,所以说文档方面也比较完整。5.2.5 测试用例当传输一个A.txt文件时,服务器端设置IP为127.0.0.1,端口号5000后发送该文件,在客户端进行接收时对IP与端口号测试,原参数修改为IP127.0.0.3或端口号4500。过程如5-2表。表5-2 关于IP和端口号的测试用例表服务器状态客户端状态接收结果IP127.0.0.1端口号5000IP127.0.0.3端口号5000发送失败IP127.0.0.1端口号5000IP127.0.0.3端口号4500发送失败IP127.0.0.1端口号5000IP127.0.0.1端口号4500发送失败IP127.0.0.1端口号5000IP127.0.0.1端口号5000发送成功 通过以上测试用例可证明,进行传输的输入的物理地址、端口号等参数需要一致,并且相同状态下可进行发送,综上本程序测试成功。总 结在当今电脑网络密布的世界当中,一个简单高效的网络文件传输工具是如此的具

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号