毕业论文:基于FTP协议的文件访问系统的设计与实现计算机毕业设计(终稿)_第1页
毕业论文:基于FTP协议的文件访问系统的设计与实现计算机毕业设计(终稿)_第2页
毕业论文:基于FTP协议的文件访问系统的设计与实现计算机毕业设计(终稿)_第3页
毕业论文:基于FTP协议的文件访问系统的设计与实现计算机毕业设计(终稿)_第4页
毕业论文:基于FTP协议的文件访问系统的设计与实现计算机毕业设计(终稿)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计(论文)基于ftp协议的文件访问控制系统的设计与实现论文作者姓名: 申请学位专业: 申请学位类别: 指导捌昭(删尔): 论文提交日期:基于ftp协议的文件访问控制系统的设计与实现摘 要现在有了网络,网络用户不但町以浏览各种各样的信息资源,还能够将自己 感兴趣和需要的资源下载到本地机上,但这样也加大了对资源的需求量。由于网 络的带宽及各种服务的限制,单纯从页面上下载显得又慢又不口j靠,而11也无法 满足众多用户的需求,所以就有许多ftp工具应运而生。本软件是用delphi7.0作为开发工具完成的,系统开发的总体任务是连接 ftp服务器,上传/下载文件、对ftp服务器站点的管理、服务器端提

2、供本地ftp 服务、允许远程登录下载服务器上的文件。本论文共分为五大模块,分别是:介绍选题背景及意义和系统的发展现状; 介绍数据库技术和delphi技术;对当前企业进行需求分析并提岀解决方案;根 据需求方案对系统进行设计;对工作计划统计分析系统进行测试并得到测试结 果。关键词:ftp;文件访问;后台数据库the file access control system based on ftpabstractthrough the internet, people are not only able to browse all sorts of information, but also able

3、 to download interesting resources. however, due to different constrains it is inefficient and unreliable to download by web page. therefore, there are requirements for better download tools, such as ftp tools.this software is developed by using delphi7.0, the major duties for the system is to conne

4、ct to the ftp server, to administrate the ftp service sites, to allow file downloading from remote controlthere are 5 parts in this paper: introduction of the background and significance of the topic, and generalization of the development of the system, introduction of the technology of database and

5、 delphi, analysis of the current requirements of enterprises, design and implementation of the system, and test of the system.key words: ftp; file access; background database目录1 选题意义21. 1课题背景21.2 国内外研究现状21.3 本课题研究的目的22 相关理论基础32. 1网络概念32. 2delphi 技术32. 3delphi的控件安装方法42.4 microsoft sql server 数据库技术53

6、需求分析53. 1需求概述53.2 登陆模块63.3 用户注册模块63.4 客户端模块63. 5服务器模块64 设计与实现64.1 系统概要设计64.1.1 概要设计64.1.2 条件与限制74.2 系统的详细设计74. 2.1系统总体流程74. 2.2各模块处理流程84. 2.3数据库设计114.3 典型模块实现115 测试135. 1测试环境135.2测试的目的145. 3测试方案14结论16参考文献17致谢18声明19第1页共30页1选题意义1.1课题背景现代科技给我们带来了翻天覆地的变化,互联网就是这诸多变化之一, 而且它无吋不刻地包围着你。可以这样说,21世纪是互联网的世纪。互联 网

7、是人类科技发展史屮成长最快的新鲜事物,从诞生到高度发展仅仅用了二 十几年,而未来的发展前景更是一片光明。每个人可能者已经感觉到了它的 发展,从大大小小的网络公司到各种各样的网上商店、书店、网吧、网上银 行等,就连电影院也都搬到了网上你可以足不出户的欣赏美国大片。早在20世纪90年代初,internet和world wide web(简称www)已经 被大家熟知。最近几年internet的发展更是神速,它已经深深触及到我 们的生活和工作的方方面面。随着许多新兴技术在internet屮的推广应用, 使用它的自身发展更日趋完善,它为用户也带来了越来多的实惠和便利。毫 不夸张地说,无论你在世界上的哪个

8、角落,只要通过互联网,你就可以同亲 人朋友、甚至是陌生人相互交流,而且形式多样。互发邮件、交换文件、彼 此聊天这已经是很平常了,而现在随着网络、通信技术的相结合,已经出现 了可视电话、网络家电、电子商务等。网络用户可以通过大大小小的各类网 站或主页。他们已经越来越离不开网络,而且已经把企业网络建设纳入了未 来企业发展最重要的环节。是互联网最大的凝聚力所在,它是一个包罗万象 的信息服务系统。1.2国内外研究现状从有关的文献看,在国内和国外都有不少的这种软件,可见,由于网络 的普及和资源的增加,用户对资源的需求也更大,一般的下载无法满足用户 的需求,从而ftp的运用就变得更普遍。国内ftp软件,由

9、于资源数量相对 较少,使用吋间相对较短,加之用户使用意识较为薄弱,ftp站点的建设质量 与服务等都不是太完善。而国外的一些站点由于运行得比较久,所以效果不 错。1.3本课题研究的目的访问网站资源已是广大公众的日常行为,用户是网络赖以生存和发展的根木, 尊重用户,以用户的需求为屮心,不只是一句口头上的空话,而要付诸行动。因此 希望通过此次调查研究,找出原有ftp软件的不足,尽量完善软件,在有限的成 木范围内提高读者满意度。并形成一个完善的ftp传输软件,方便以后用户进行 资源的传输和共享。木系统既锻炼了我们的实际动手能力,又引导我们进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要

10、的意义2相关理论基础2. 1网络概念互联网通常指的是由很多计算机网络(包括局域网、广域网等)和互连接而 成的一个总网络,它无论在功能上还是在逻辑上都是一个巨型网络。无论 internet.因特网、国际互联网、互联网、全球互联网、交互网、国际电脑网络、 国际计算机网络。其实它们都是由美国阿帕网(arpanet)发展而成的。主要采 用的通信协议都是tcp/ip协议。网络的定义从概念上说,就是由两台或两台以上计算机通过一定的连接和统 一的通信协议,最终实现彼此z间和互通信的实体。网络互联可以采用网间连接 器互连和通过互联网两种方式实现网络互联。从定义看,它必须是由多个电脑通 过连接设备物理连接而成,

11、然后通过定制的协议方法才能实现多种资源、服务、 信息共享。这种通信包括了发送e-mail和传真,交换一个或多个文件等。而 internet是多个计算机网络的集合,是一个网中网,是遍布全球的联络各个计 算机平台的总连接,这些网中网的计算机少则两三台,多的则拥自数千台,是名 副其实的千万信息资源的汇合。从木质上讲,internet是一个媒介,是一个沟 通你我他,沟通全世界的重要手段,只不过这种沟通连接世界上不同种类型的计 算机实现的,通过这种连接,我们就能和世界交流,和世界通信,所以它乂是一 个交换各类数据的通信媒介。从internet提供的无限资源和对人类的发展推动 作用这方面來理解,inter

12、net是止在迅猛发展的全球数字化数据库,这个数据 库是建立在高度灵活的通信技术z上的,正是有了各种成熟的通信技术和网络连 接的简单性、灵活性和共享信息的便利性才促成了 internet的飞速发展。2. 2 delphi 技术delphi是基于窗体和面向对象,具冇高速的编译器,强大的数据库支持, 与windows编程紧密结合,强人而成熟的组件技术。但最重耍的还是object pascal语言,它才是一切的根本。object pascal语言是在pascal语言的基础 上发展起來的,简单易学。delphi提供了各种开发工具,包括集成环境、图像编辑(image editor), 以及各种开发数据库的

13、应用程序,如desktopdatabase expert等。除此之外, 还允许用户挂接其它的应用程序开发工具,如borland公司的资源编辑器 (resourse workshop)o在delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于 多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库 管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供人量的企业 组件。2. 3 delphi的控件安装方法1、对于单个控件,componet->install component. ->pas 或 dcu 文件 一一>install;2、对于带*

14、. dpk文件的控件包,fi le->0pen(下拉列表框中选 *. dpk)->install 即可;3、对于带*bpl文件的控件包,install packages->add->bpl文件名即 nt;4、如果以上instal 1按钮为失效的话,试试comp订e按钮;5、是 run time lib 则在 option 下的 packages 下的 runtimepackes 加之。 如果编译时提示文件找不到的话,一般是控件的安装目录不在delphi的lib目录屮,冇两种方法可以解决:1、反安装的源文件拷入到delphi的lib目录下;2、或者tools->en

15、vironment options屮把控件源代码路径加入到delphi 的lib目录中即可。注意:所安装的控件是否与你所用的delphi版本相适应。 rxlib的安装首先在delphi 5的ide中将以前版本的rxlib反安装掉,删除 rxctl5. bpl > rxdb5. bpl > rxbde5. bpl > dclrx5. bpl、 dclrxdb5. bpl 和 dclrxbd5.bplo打开rx的运行包rxctl5. dpk,在package窗口中按compile按钮编译 rxctl5. dpk ,然后用同样方法编译另两个运行包rxdb5. dpk和rxbde5.

16、 dpk , 将编译后的三个bpl文件放到搜索路径中,如windowssystem等。在编译完运行包后你必须将rx的设计期包安装到ide环境中。打开rx的设计期包dclrx5. dpk,在package窗口中按compile按钮编 译,然后按install按钮将设计期包注册到组件面板中。用同样的方法安装 dclrxdb5. dpk 和 dclrxbd5. dpk。注意:不要在delphi ide中保存包资源(package sources) !帮助文件的安装单击delphi屮的help菜单下的customize菜单项,这吋会弹出 openhelp对话框,选择在index页下,打开edit菜单下

17、的add files菜单, 添加你要加入的帮助菜单,这样你就可以在delphi的ide下使用该帮助文件 to控件删除在 component/tnstal 1 packages 中删除。选 componenl/conf igure palette冇pages和components两个区域双击components区域,选中要删除得控件,下面冇得delete按钮但系统提供的控件只能hide,不能dclctco打开控件所在的包文件(*.dpk),从中删除控件那个文件,再重新编译该包 即可如果是整个控件包都要删除的话,project->option->packagcs,删掉那个 packag

18、es,就可以 了。2. 4 microsoft sql server 数据库技术sql全称是"结构化查询语言(structured query language) v ,最早的是 ibm的圣约瑟研究实验室为其关系数据库管理系统system r开发的一种查询语 言,它的前身是square语言。sql语言结构简洁,功能强大,简单易学,所以 自从ibm公司1981年推出以来,sql语言,得到了广泛的应用。数据库技术就是研究对数据进行科学的管理,合理的分析,为人们提供安全、 准确数据的技术。一个完整的数据库系统是基于数据库的一个计算机应用系统, 它一般包描五个主要部分:数据库、数据库管理系统

19、、应用程序、数据库系统管 理员和用户。在windows操作系统中,microsoft sql server 2000数据库是一个多关 系数据管理系统,是目前使用最为广泛的数拯库。它与windows网络操作系统的 无缝继承,智能化的内容管理,強大的功能,灵活的后台开发,使它得到大量用 户的喜爱。sql server 2000数据库应用的一个重要方面就是对数据的访问。基 于web的数据库利用已有的信息资源和服务器进行访问,其访问频率大,尤其是 热点数据。如果要实现web数据库系统的连接和应用可采取两种方法,一种是在 web服务器端提供中间软件来连接web服务器和数据库服务器,另一种是把应用 程序下

20、载到客户端并在客户端直接访问数据库。3需求分析3. 1需求概述本设计设计出一套完整的软件,其次是一些系统配置的设置问题。主要设计 了四个功能模块,用户可直接调用这些模块,具有实用、简洁的功能。系统功能主要包括以下几个方面:一是用户注册加密信息,用户注册吋用 md5算法加密后直接存入数据库;二是登陆模块设计,可以测试进入,从而可 以让用户先体验下软件,然后再选择是否使用。三是客户端模块,是用户对资 源选择下载和上传的功能。对于用户可以选择自己想要得资源进行下载,也可以 把自己的资源拿出來大家分享,这样促进资源的流通和推广。四是服务器端,启 动了服务器,自己电脑就成为一个服务器,如果自己电脑运行了

21、客户端,连接 127.0. 0. 1,就可以连接自己的电脑,可以测试软件的连接情况。3.2登陆模块在用户使用此软件时,就会弹出这样的界面,用户可以测试登陆,如杲已经 注册了,可以填写自己的用户名和密码,进行登陆,进入客户端。3.3用户注册模块本模块主要用于用户注册信息的安全性,用户注册时用md5加密算法直接加 密用户信息存入数据库,用户注册信息包括用户名、密码、确认密码、联系电话、 邮箱、qq、公司和备注。用户注册时如有填错注册信息,则转入错误页面以引导 用户填写正确的注册信息,如密码输入不一致,qq不为数字或邮箱格式输入有 错误,如用户填写所冇信息均符合要求则注册成功,次模块对注册信息用md

22、5 算发进行加密后存入数据库。在数据库里可看到乱码的注册信息,他人想通过数 据库查看用户信息是不可行的,也就起到了保密的作用。3.4客户端模块此模块可以测试进入,方便用户不用先登陆就可以进入测试,先体验下软件, 然后决定最后到底使不使用此软件,在这个模块中,用户可以选择口己想要下载 的资源,來满足白己的需求,也可以上传口己的资源,让大家來分享。用户还可 以借助此软件登陆许多ftp网站,对网站上面的资源进行选择性的下载。3.5服务器模块当开启服务器时,用户就将自己的主机作为了一个服务器,可以自己连接自 己的主机进行测试,也可以比其他用户连接到自己主机,为用户提供资源,供用 户下载。4设计与实现4

23、.1系统概要设计4. 1. 1概要设计该阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内 部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的 细节以及具体的装配要求。模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出來,把软 件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作 变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随z增加。在系统中,各模块有各模块的作用,登陆模块是对用户信息的验证,用户的信 息输入功能是由注册模块进行管理的,客户端上则提供了资源交流功能,服务器 端则是将口己的资源拿给大家共享4.1.2条件

24、与限制为了评价该设计阶段的设计表示的“优劣程度”,必须遵循以下几个准则:1. 软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制 关系。2设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实 现各种特定功能和子功能。3设计最终应当给出具体的模块(例如子程序或过程),这些模块就具有独 立的功能特性。4.应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得设 计。4.2系统的详细设计4. 2. 1系统总体流程从用户打开软件开始,首先弹出一个登陆界面,在这时,用户可以匿名登陆, 进入测试画面。进入后,用户可以进行注册,注册后用户可以在网上选择自己需 要的资源,进行

25、下载。最后,用户还可以打开服务器端,将口己的资源共享,为 其他用户提供方便。整体软件流程图(图4-1)图4-1整体软件流程图在完成系统以后,系统需要维护.由于系统较小没有外加维护模块,因此维护 工作比较简单,仅靠数据库的一些基本维护措施即可。4. 2. 2各模块处理流程1 运行模块的组合具体软件的运行模块组合为程序多窗口的运行环境,齐个模块在软件运行过 程中能较好的交换信息,处理数据。2. 运行控制软件运行时有较友好的界面,基本能够实现用户的数据处理要求。3. 运行时间系统的运行时间基本可以达到用户所提出的要求。注册模块:在这注册屮,注册名不能为空,并且两次填写的密码必须相同,如果注册名存在了

26、,系统会提醒你“用户名已存在”,把以上以上所述都填好后 (其他的电话,邮箱,真名,备注都是选填),你就能注册成功,反z则需耍重 新填写。注册模块流程图(图4-2)开始进入注册画面y显示注册信息v结束n图4-2注册模块流程图在注册时可能出现的问题和解决方法:1. 出错输出信息在用户在注册用户名时,如果有重复的名字,系统就会报错。但用户可以匿 名登录。2. 出错处理对策由于数据在数据库中已经有备份,故在系统出错后叮以依靠数据库的恢复功 能,并且依靠口志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到 破坏。但有可能占用更多的数据存储空间,权衡措施由用户來决定。注册后,系统将对于注册用户的密码

27、进行了 md5的加密后再存入数据库中。系统安全保密性述不错。登陆模块:用户在登陆时一定要输入准确的用户名和密码,才能安全和正常 的登陆,进入客户端界面。登陆模块流程图(图4-3)图4-3登陆模块流程图客户端模块:用户正常登陆后,进入到客户端界面,这吋用户可以根据自己 的需要和爱好,下载服务器拥有的资源。客户端模块流程图(图4-4)图4-4客户端模块流程图4. 2. 3数据库设计在运行中,需要一个数据库对注册用户进行管理,在下面表1中,对其进行详 细介绍。表1数据库表字段名数据类型长度能否为空urchar50npasschar100ntelchar20yemailchar50ynamechar2

28、0ymemochar50y在设计中,其表如下图(图45)hz |询lm丄11 bi rajtct 1czfj3ec-3cfl9e4bso2t9j图454.3典型模块实现md5的实现rocedure md5.qksj;vari : integer;begin/bm0:=$67452301; /01234567;bm 1 :=$efcdab89; /89abcdef;bm2:=$98badcfe; /fedcba9 8;bm3:=$ 10325476; /76543210;/for i:=0 to 63 do hcsjil:=0;/sjcd:=o;bmcd:=();/end;编码算法:对数据sj进

29、行编码并保存在编码bm屮procedure md5bmsf;varaa,bbxc,dd : cardinal;sj : array 0.15 of cardinal;md5. bmsf的内部函数:数据转换,从hcsj (byte)到sj (cardinal)procedure sjzh;vari,n : integer;beginn:=0;for i:=() to 15 dobeginsji:=hcsjn or (hcsjn+l shl 8) or(hcsjn+2 shl 16) or (hcsjn+3 shl 24);n:=n+4;end;end;function xhzy(x,s : ca

30、rdinal): cardinal;beginresult:=(x shl s) or (x shr (32-s);end;procedure ff(var a : cardinal; b,c,d,x、s,ac : cardinal);function f(x,y,z : cardinal): cardinal;beginresult:=(x and y) or (not x) and z);end;begina:=a+f(b,c,d)+x+ac;a:=xhzy(a,s); a:=a+b;end;procedure gg(var a : cardinal; b.c,d,x,s.ac : car

31、dinal);function g(x,y,z : cardinal): cardinal;beginresult:= (x and z) or (y and (not z);end;begina:=a+g(b.c,d)+x+ac;a:=xhzy(a,s);a:=a+b;end;procedure hh(var a : cardinal; b.c,d,x,s.ac : cardinal);function h(x,y,z : cardinal): cardinal;beginresult:= x xor y xor z;end;begina:=a+h(b,c,d)+x+ac;a:=xhzy(a

32、,s);a:=a+b;end;编码两数11procedure ll(var a : cardinal; b,c,d,x,s,ac : cardinal);function i(x,y,z : cardinal): cardinal;beginrcsult:= y xor (x or (not z);end;begina:=a+i(b,c,d)+x+ac;a:=xhzy(a,s);a:=a+b;end;在注册时,对用户的密码用md5进行加密后储存在数据库中.5测试5. 1测试环境一台计算机,既作为服务器也作为客户机。在系统屮安装microsoft sql server 2000 和 delphi

33、 计算机配置:赛扬1g 256m内存操作系统:xp服务器组件:microsoft sql server 2000数据库类型:microsoft sql server 20005.2测试的目的经过系统分折与设计后。就可以根据设计模型在具体的环境小实现系统,生 成系统的源代码、可执行程序和相应的软件文档,建立一个可执行的系统。然后 需要对系统送行测试和排错,保证系统符合预定的要求。获得一个无错的系统实 现,调试的结果将确认所完成的系统可以真正使用。最后系统配置的任务是在真 实的使用运行环境小配置,调试系统,解决系统正式使用前可能存在的任何问题。5. 3测试方案1:登录界面:用户输入用户名和密码,进

34、入客户端。如图5-1图5-1登陆界面2:在客户端屮,客户可以自由选择自己需要的资源,进行下载。如图5-2。rmkrc512512黑512titaif*rg.fi fifcrttbitlii iji '祁"卫曲“:心4(:2 die<fh?xf7p»xlt5qfduroave12dm1的ncinwovkict* h>dtid»> dfi“kp呷imi wwha4尸frf4<»i.-rp»w!.*三_三三二 m:i:umau:y eenlenlnle mhimm mee 益eiee轟he ,! dibeidw进入客户

35、端以后,如果名称类型为directory时,界而如图5-3:|时目可iicjin&u eie inn必 sskfflrhs15648pninfam f 趣512sje0b-29-2cj05 uj uzallme 1 i 牛all12-23-2dc6 00.dj 汕dreclbiv 图5-3 如果名称类型为f订e时,界面如图5-4:当出现下载框时,就可以点击下载你需要的文件,选择合适的文件夹保存, 如图5-5图5-53当用户要注册时,就点击注册控键,进入注册界面,如果你想注册一个用 户,你可以先检测卜用户名,如果用户名已存在,你就需耍重新选用用户名进行 注册。如图56:用戶名e用户名已呢

36、桂謝用戸名1e图5-6注册界面4在这个系统中,我还做了一个简单的服务器,当启动它时,你就可以连接 自己的电脑进行测试。如图5-7。p服务器rs«m«artnfb>6*n<ifyh>ni|ftffflflmf r盼破"用s皑制ff审事88亠一i勒侣为w僭h甘的易酒名仗r用r i±-w4±mw#. xsmmttmm ,硒1阳!hl0£h/jr1w tia®,剛妙聲氓图5-7服务器端齐模块对用户信息加密,资源卜载和上传做了详细的测试,达到了需求里的效 果和预期的功能。结论从需求分析到数据分析再到数据库的规划、开发和最后的数据测试,以及 维护,完成了这个基于ftp协议的文件访问控制系统。本系统已经具冇相当的通 用性和实用价值,实现了预计的大部分功能。此系统已能够实现用户的登陆和对 资源的下载,在用户信息存储上也实现了 md5的加密,在完成这个系统期间我淫到了很多知识,了解到数据库应用开发与设计是一 项复杂的工程,开发一个好的数据库应用系统对系统的设计开发人员要求较高, 必须具备多方面的技能和知识,掌握了 delphi数据库开发,数据库的建设及其 使用,sql server 2000数据库开发和应用。也进一步捉高了自己在自学,独立7* 在拥用户思考和独立解决问题方而的能力。同时在代码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论