温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。
|
asp.net,c#,visual studio,sql网络硬盘文件资源管理系统,毕业论文,课程设计,PPT,开题报告
3995
来源:
Licence:
联系:
分类:
平台:
环境:
大小:
更新:
标签:
免费下载
×
网络硬盘文件资源管理系统本科生毕业论文(设计)题 目:网络硬盘文件资源管理系统学生姓名: 王 威 学 号: 151011136 专业班级: 计算机系01109班 指导教师: 邓志宏 完成时间: 2005年6月 目 录摘 要 IIIABSTRACT IV引 言 V第一章 软件所需资源 11.1硬件开发环境 21.2 其他硬件辅助设备 21.3软件运行环境 31.3.1 WEB服务器简介 31.3.2 PWS与IIS( Internet Information Serice)的安装 41.4软件开发环境 61.4.2软件开发环境的分类 6第二章 软件过程 82 .1需求分析 82.1.1需求分析的一般性原理 82.1.2需求分析的任务与过程 92.1.3需求分析的要求 102.1.4网络硬盘系统的需求分析 112.1.6功能需求 112.2概要设计 122.2.1概要设计的一般原理 122.2.2用户模块设计 122.2.3网络硬盘系统层次结构框图 122.2.4 后台系统 132.2.5数据库设计 142.3详细设计 162.3.1详细设计的一般原理 162.3.2分模块介绍各模块的关键技术、程序实现方法 162.3.2部分模块的设计和编码 182.5程序测试 192.5.1程序代码测试 192.5.2程序功能测试 202.6程序维护 20第三章 相关部分 223.1相关技术 223.1.1 软件工程方法概述 223.1.2 开发工具的选择 233.2相关过程 233.2.1 asp技术概述 233.2.2 ADO技术 253.3 安全性维护 29第四章 软件使用说明 314.1注册与登陆界面 314.2系统主界面 324.3 部分功能模块界面 33第五章 系统总结 345.1系统特点 345.2 Asp+access的安全隐患 355.2.1 安全隐患 35 5.2.2 提高数据库的安全性 36结 束 语 38参考文献 39致 谢 40附 录 41附录1 源程序代码 41附录2 md5算法 81摘 要 随着网络技术的日益普及和信息化建设的重视,网络硬盘是一种新型安全的网络存储系统,主要适用于个人文件存储,可以用作个人的一个网络U盘,网络硬盘是一块专属的存储空间,用户通过上网登录网站的方式,可方便上传、下载文件。只要能上网,就可以用网络硬盘登录到服务器上进行个人文件的上传、删除及文件目录的新建、修改、共享等操作,随时随地存储自已的个人文件。本论文基于现状,采用编程语言asp作为开发工具外挂access数据库。力图设计一个切实可行的应用系统方案。 本论文详细的介绍了系统模块设计的开发过程。系统集成后,通过测试,证明系统设计是成功有效的。关键词:网络硬盘,服务器,存储空间,上传,下载,数据库,共享、aspABSTRACTWith the more universalization and information construction recurrence of the net work.netdisk is a new type and safety storage system of the network. It is chiefly using in the storage of the personel file and an U disk of the net. netdisk is a special storage space. User can post the network site as the regime,who may upload and download the file conveniencely.when go to the internet,you may make use of the netdisk to post the server to upload,delete,make new project,update the file directory and other operation. The user can store your personel file at any moment and anywhere. In order to give a practical scheme of the applicable system, the article base on the present state ,adopting the programming language asp as the develop tool , With the access database, the article detaily introduces the developing process of the system model.After integrated, the system pass test. It is obvious that our design for this system is successful.Keywords: netdisk,server,storage space, upload,download,database,share,asp. 引 言在互联网上,你可以浏览免费信息、看免费杂志、用免费电子信箱、拥有免费主页,可是,不知您发现了没有,你的硬盘越来越不够用了.随着计算机及网络技术的不断发展,现代通讯工具应用的普及,计算机在现代社会生活中发挥着重要的作用。而与之相伴随的就是大量的文件而且是一些经常使用的文件。虽然各大计算机硬件生产商都推出新的产品来帮助人们解决携带文件的困扰,但是携带一些存储 设备有它自身的缺点和意想不到的麻烦。为方便人们对文件的携带,加快办公手段的现代化,根据人们的实际需求,我们提出了基于计算机网络的网络硬盘系统的设计方案,并根据该设计方案部分地实现了网络硬盘的基本功能. 随着网络技术在社会应用的普及,各地区相继建立了自己的网络,并开始实施网上办公和网上交流。网络硬盘是将用户的文件存放在互联网上,方便用户“携带”他们的文件,方便用户与他的亲朋好友“共享”他们的文件,用户可以有如下操作:下载、上传、复制、挪动、删除文件,以及新建文件夹;开设、冻结、删除、修改下级账号等等。人们可以不受时间和空间的限制,随时随地从自己的硬盘中取出想要的文件。相对于Email,网络硬盘上传文件方便,下载快速,进入空间直接,界面更简单明了。基于网络的存储环境模型是随着现代信息技术的发展而产生的一种新型方式,将作为构筑21世纪文件存储体系的主要手段,必然对人们的日常生活和日常工作的转变产生深远的影响。其未来发展将有以下几个趋势:(1)面向群体和个人的使用;(2)网上办公的业务范围将包括所有的办公形式第一章 软件所需资源开发软件产品,必须具有硬件开发环境,设备以及一些硬件辅助设备。除此之外,软件运行环境也是必不可少的。软硬件资源共同构成了开发软件所必须具备的两种资源,计算机系统是由硬件和软件组成的。计算机硬件与计算机软件是计算机系统中不可分割的一个整体。只有硬件而没有软件的计算机是没有任何用处的裸机;只有软件而没有硬件的支持也只是无意义的纸上程序。计算机硬件与计算机软件之间是相互依存、相互融合、相互促进、共同发展的关系。 计算机硬件(Hardware)指看得见、摸得着的实际物理实体。它包括中央处理器、存储器和外部设备。它们是由电子的、电磁的、光学的、机械的元器件集成的芯片,组装的电路板及各种部件和装置组成。 当用户购买台式个人计算机的时候,除打印机、绘图仪根据需要另购外,其它的硬件均随机配套出售。在配套出售的硬件中,又根据不同的功能(是办公用还是家用,是文字处理还是图形、图像处理,是16位字长还是32位字长,是单色还是彩色,是单任务还是多任务,是单媒体还是多媒体等)、容量(一般指内部、外部存储器的存储容量-兆字节数)、速度(一般指计算机的运行速度-每秒执行的兆指令条数)等要求而选购不同的硬件配置。 一般来说,硬件的配置档次越高,硬件特性体现越强,表明它对软件的支持越强,它的性能价格比越高,它的可用性、可靠性、兼容性和可维护性越好。 计算机具备今天这样强大的功能,是计算机硬件迅猛发展的结果。如仍以台式个人机为例,首先是计算机的心脏-微处理器的发展带动了其它。如美国Intel公司的奔腾(Pentium)微处理器芯片在不到7平方厘米的芯片上集成了310万个晶体管,能处理64位的数据,运算速度达到每秒1亿次以上。其次是计算机的内、外部存储器容量有了几十倍的提高。再有就是输入、输出设备,不断地高速化、小型化、多功能化,加上使用了先进的局部总线,极大地提高了计算机外设的运行效率。所有计算机机硬件不断改进和发展的综合效力,使计算机的技术性能连上新台阶。 计算机发展到今天,除主要有赖于以超大规模集成电路为龙头的硬件突飞猛进之外,还有赖于计算机系统体系结构的发展。例如在微处理器芯片上普遍使用了双流水线、超标量、压缩指令集、分支预测和在片高速缓冲存储器技术,使得计算机硬件的核心微处理器的功能和速度更加如日方升,并带动着整个计算机硬件产业和软件产业不断兴旺发达。1.1硬件开发环境(1)服务器端服务器端的最低配置是有建立站点所需的软件来决定的。在最低配置的情况下,服务器的性能往往不尽如人意。如:PⅢ450双CPU+1G内存+10G以上的SCSI硬盘,这是一台使用WINDOWS NT的WEB服务器的标准配置。当然,我们无需这样的配置,我们需要的只是一台能够流畅运行WINDOWS 2000的配置,现在计算机的性能已经相当出色。而且价格也很便宜,因此我们通常在服务器端配置高性能的硬件。本网络硬盘系统服务器端的配置如下: 处理器: 赛扬 1.7G 内 存: 128MB 硬盘空间: 40G 光 驱: 52X 显 卡: TNT2显示适配器(2) 用户端 用户端主要用于浏览和操作数据库,所以硬件要求不高,但是基于目前计算机,配置也相当高。需要的配置如下: 处理器: 赛扬 1.7G 内 存: 64MB 硬盘空间: 40G 光 驱: 52X显 卡: TNT2显示适配器1.2 其他硬件辅助设备 在前面一小节里,主要介绍了开发网络硬盘文件系统最主要的硬件需求。除此之外,还需要一些设备,如:显示器,鼠标,键盘,CPU等。如果没有这些设备,也完成不了该系统的开发。而且,随着当今计算机技术的高速发展。这些设备的功能也日益强大。特别是CPU的运行速度极其快速。1.3软件运行环境首先选择操作系统。由于ASP属于MS(Microsoft)的东西,所以我们要选择MS的操作系统,Windows 98以上就可以 然后就是搭建个人WEB服务器(Personnel Web Serice),这就要根据操作系统来了。配置是这样的:Win98+PWS(personnel web serice)/Win2000 Pro+IIS(Internet Information Serice)/Win2000 Server+IIS(Win2000 Server 中IIS是默认安装)/Win2000 Advance Server+IIS(这里IIS也是默认安装)/WinXP+IIS/Win2003+IIS.1.3.1 WEB服务器简介从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,Web Service是一种新的Web应用程序分及通过We支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以b来调用。 Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。建立一个网站、开发电子商务应用、实现网页与数据库的连接,都必须依赖Web服务器。比较有代表性的三种Web服务器有:Personal Web Server(PWS)、WebSite、Internet Information Server(IIS)。 IIS(Internet information server)是搭配微软Windows NT/2000操作系统的Web服务器,他如同Unix和linux上知名的免费Web服务器Apache一样,可以让用户在Windows NT/2000的计算机网络中架设Web网站。设计本系统时之所以采用IIS是由于IIS并不只是一个单纯的Web服务器,他是一个整合的Web应用程序开发环境,能够在Web上开发具有扩充性和组件基础的客户/服务器应用程序;再加上Windows NT4 Server 完全整合Web服务,不仅允许用户建立专业的网站,而且还提供网络和集成式的系统管理功能。采用它有诸多的好处:1.可靠的应用程序服务IIS支持”ASP”(active server pages),JAVA技术,整合Message Queue能够在网络上可靠的发送和结束消息。2.网站的Web服务3.整合的网络服务IIS高度整合至Windows NT 4 Server,将Web服务器整合在操作系统之中,Windows NT 4 Server 配合IIS提供有整合的平台,可以管理网络和各种Web应用程序的服务1.3.2 PWS与IIS( Internet Information Serice)的安装PWS的安装和配置:PWS包含在WIN98的专门碟里面,到网上搜索一下也可以找到下载,然后点击安装,这里就不多说安装了,跟别的软件安装是一样。安装之后在WIN98的桌面上会有一个“发布”的图标,在任务栏时钟旁也有一个图标,在开始->程序 里面会添加一项,这就是PWS了,无论你从哪个地方启动它都可以,默认状态是安装后就启动了。点击打开。这里我们有几项要进行设置的。首先设置主目录,在“高级”里面,选择主目录进行设置,默认是在X:\Inetpub\wwwroot(X:表示系统盘),你可以进行更改,改到你想要的目录。再设置一下文档,这个是你默认打开你自己站点的文件名。里面一般有default.html和default.asp,但是一般来说我们习惯用index.asp和index.htm作为主页名,所以在这里我们还要添加index.asp和index.htm。现在我们设置虚拟目录,点击“虚拟目录”,给虚拟目录命一个比较形象的名字,例如你的ASP程序是一个论坛程序,就命名为BBS(大小写不区分,最好不要用中文命名),这个自己命名就是,再选择虚拟目录的路径,你在这里选择你自己程序所在的路径,例如: d:\我的论坛\bbs\。这样PWS我们算是基本配置完成。现在你可以在IE里面浏览你的ASP文件了。打开IE,在地址栏里输入:http://XXX(你的计算机名或是127.0.0.1或是localhost)/XXXXX(你的虚拟目录名,也就是你在设置虚拟目录时命的名,如果放在X:\Inetpub\wwwroot下的话就不要虚拟目录了。IIS的安装和配置。WIN2000 server/WIN2000 advance server都是默认安装的,如果在安装时没选择的话,也按照下面的步骤来吧。win2000 pro/winxp pro/win2003的用户开始->控制面板->添加/删除程序->添加删除WINDOWS程序组件 在里面把internet 信息服务(IIS)打上勾,然后插入WINDOWS安装光盘,点击下一步,这样就开始安装IIS,安装过程就不多说了,也是普通软件安装一样,不是点下一步就是点完成和确定。现在开始配置IIS了。开始->控制面板->管理工具->internet 信息服务。打开之后就到了IIS的控制台了。点计算机名前面的+号展开,再点网站前在的+号展开,这时就有一个默认网站,这里就是我们要配置IIS的关键地方了。右击“默认网站”,在弹出菜单里选择“属性”这时就会弹出“属性”选顶卡。一般情况下“网站/常规”选项卡不要更改。选择“主目录”选项卡,本地路径就是你的主目录路径,这里你可以点浏览更改到你想设置的目录下,默认是:X:\inetpub\wwwroot(X:表示系统盘)。在这里还可以设置你的网站的用户操作权限。这些设置完后就转到“文档”选项卡,首先要在“启用默认文档”前面打勾,默认是打勾的。点击“添加”,可以添加默认文档,例如添加index.asp、index.htm、index.html等等,这是你网站默认打开的主文件名,在这里也可以进行删除,选择你要删除的文档之后再点“删除”,现在“属性”选项卡基本设置好了,点应用、确定就返回到IIS控制台了。现在就是设置虚拟目录了(如果你的文件放在X:\inetpub\wwwroot下面的话就不要设置了),右击“默认网站”选择“新建”->"虚拟目录"。输入虚拟目录名,下一步,选择文件路径,下一步,完成。现在IIS的配置我们基本完成了,现在我们就可以利用IIS+IE进行ASP的调试了。打开IE,在地址栏里输入:http://XXX(你的计算机名或是127.0.0.1或是localhost)/XXXXX(你的虚拟目录名,也就是你在设置虚拟目录时命的名,如果放在X:\Inetpub\wwwroot下的话就不要虚拟目录了)/wwww(文件名,如果是default.asp/default.html/index.htm/index.asp这样的文件名也可以省略不填)。如果你的ASP文件有错误的话,IE就会报错。基于以上要求,配置如下:(1) 服务器端 操作系统: Windows2000 网络协议: TCP/IP WEB服务器: Personal Web Server 数据库: Microsoft Access2000 浏览器: Internet Expolrer 5.0 IIS 5.0以上(2) 用户端 浏览器: Internet Explorer1.4软件开发环境软件开发环境(softwareDevelopmentEnvironme)是指本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。1.4.2软件开发环境的分类软件开发环境可按以下几种角度分类: (1)按软件开发模型及开发方法分类,有支持瀑布模型、演化模型、螺旋模型、喷泉模型以及结构化方法、信息模型方法、面向对象方法等不同模型及方法的软件开发环境。 (2)按功能及结构特点分类,有单体型、协同型、分散型和并发型等多种类型的软件开发环境。 (3)按应用范围分类,有通用型和专用型软件开发环境。其中专用型软件开发环境与应用领域有关,故又可称为应用型软件开发环境。 (4)按开发阶段分类,有前端开发环境(支持系统规划、分析、设计等阶段的活动)、后端开发环境(支持编程、测试等阶段的活动)、软件维护环境和逆向工程环境等。此类环境往往可通过对功能较全的环境进行剪裁而得到。软件开发环境由工具集和集成机制两部分构成,工具集和集成机制间的关系犹如“插件”和“插槽”间的关系。 工具集:软件开发环境中的工具可包括:支持特定过程模型和开发方法的工具,如支持瀑布模型及数据流方法的分析工具、设计工具、编码工具、测试工具、维护工具,支持面向对象方法的OOA工具、OOD工具和OOP工具等;独立于模型和方法的工具,如界面辅助生成工具和文档出版工具;亦可包括管理类工具和针对特定领域的应用类工具。 集成机制:对工具的集成及用户软件的开发、维护及管理提供统一的支持。按功能可划分为环境信息库、过程控制及消息服务器、环境用户界面三个部分。环境信息库:是软件开发环境的核心,用以储存与系统开发有关的信息并支持信息的交流与共享。库中储存两类信息,一类是开发过程中产生的有关被开发系统的信息,如分析文档、设计文档、测试报告等;另一类是环境提供的支持信息,如文档模板、系统配置、过程模型、可复用构件等。 过程控制和消息服务器:是实现过程集成及控制集成的基础。过程集成是按照具体软件开发过程的要求进行工具的选择与组合,控制集成并行工具之间的通信和协同工作。 环境用户界面:包括环境总界面和由它实行统一控制的各环境部件及工具的界面。统一的、具有一致视感(Look & Feel)的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性、高效地使用工具并减轻用户的学习负担的保证。 较完善的软件开发环境通常具有如下功能: (1)软件开发的一致性及完整性维护; (2)配置管理及版本控制; (3)数据的多种表示形式及其在不同形式之间自动转换; (4)信息的自动检索及更新; (5)项目控制和管理; (6)对方法学的支持:基于以上要求,本系统采用的软件开发环境如下: Dreamweaver 和 记事本第二章 软件过程2 .1需求分析 对与系统的开发而言,系统的需求工作非常重要,它规定了系统设计统一的最基本的要求,需求分析的结果是系统设计实现测试验收和维护的依据。 需求分析是在可行性分析研究的基础上,确定新项目必须完成的工作,既对项目最终目标提出完整准确清晰和具体的要求。其具体任务是:确定用户对新系统的综合要求,分析系统的数据要求,导出新系统数据字典及系统流程,确定和评价系统方案,确定系统开发计划。2.1.1需求分析的一般性原理 软件工程是用系统化、规范化、产业化等工程原则和方法实施软件的开发和维护的方法。基于一个实际的工程项目,本课题按照软件工程开发方案,从需求分析开始,对系统进行分析设计。 在需求分析阶段,我们的焦点是“做什么”,而不是“怎么做”。不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”。主要是确定目标系统必须具备哪些功能。 用户了解他们所面对的问题,知道必须做什么,但是通常不能完整、准确地表达出他们的要求,更不知道怎样利用计算机来解决他们的问题;软件开发人员知道怎样使用软件实现人们的要求,但是对特定用户的具体要求并不完全清楚。因此在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。并与软件开发技术人员进行交流,以保证在目前现有的人员条件和技术条件下,用户需求是可实现的,系统逻辑模型是合理可行的。 科学的方法需求分析是一个复杂、长期的系统工程,没有科学的分析方法,难免要走弯路,甚至导致整个信息系统工程的失败。 2.1.2需求分析的任务与过程需求分析的任务是借助于当前系统的物理模型(待开发系统的系统元素)导出目标系统的逻辑模型(只描述系统要完成的功能和要处理的数据),解决目标系统“做什么”的问题,所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求,通过逐步细化对软件的要求描述软件要处理的数据,并给软件开发提供一种可以转化为数据设计、结构设计和过程设计的数据与功能表示。必须全面理解用户的各项要求,但不能全盘接受,只能接受合理的要求;对其中模糊的要求要进一步澄清,然后决定是否采纳;对于无法实现的要求要向用户作充分的解释。最后将软件的需求准确地表达出来,形成软件需求说明书SRS.其实现步骤如图2-1-1: (1) 获得当前系统的物理模型:首先分析、理解当前系统是如何运行的,了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体的模型来反映自己对当前系统的理解。此步骤也可以称为“业务建模”,其主要任务是对用户的组织机构或企业进行评估理解他们的需要及未来系统要解决的问题,然后建立一个业务USECASE模型和业务对象模型。当然如果系统相对简没必要大动干戈区进行业务建模,只要做一些简单的业务分析即可。 (2) 抽象出当前系统的逻辑模型:在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。 (3) 建立目标系统的逻辑模型:明确目标系统要“做什么”(4) 对逻辑模型的补充,如用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等等。 需求分析各过程如下: (1) 问题识别:解决目标系统做什么,做到什么程度。需求包括:功能、性能、环境、可靠性、安全性、保密性、用户界面、资源使用、成本、进度。同时建立需求调查分析所需的通信途径。(2) 分析与综合:从数据流和数据结构出发,逐步细化所有的软件功能,找出各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求并剔除不合理部分,综合成系统解决方案,给出目标系统的详细逻辑模型。常用的分析方法有面向数据流的结构化分析方法SA(数据流图DFD、数据词典DD、加工逻辑说明)、描绘系统数据关系的实体关系图ERD、面向数据结构的Jackson方法JSD、面向对象分析方法OOA(主要用UML)、对于有动态时序问题的软件可以用形式化技术,包括有穷状态机FSM的状态迁移(转换)图STD、时序图、Petri网或Z。每一种分析建模方法都有其优势和局限性,可以兼而有之以不同角度分析,应该避免陷入在软件需求方法和模型中发生教条的思维模式和派系斗争,一般来说结构化方法用于中小规模软件、面向对象方法用于大型软件。(3) 编制需求分析文档(4) 需求评审图2-1-12.1.3需求分析的要求 必须能够表达和理解问题的数据域和功能域:系统的目的都是为了解决数据处理问题,就是将一种形式的数据转换(输入、处理、输出)为另一种形式的数据。数据域应包括数据流、数据内容和数据结构。数据流式数据通过系统时的变化方式。对数据进行转换就是程序的功能或子功能,两个转换之间的数据传递确定了功能间的接口。数据内容就是数据项,如人的数据项包括姓名、性别、出生日期等等。数据结构即各种数据项的逻辑组织,如是表格结构还是树形结构、数据项间的相互关系。2、 必须按自顶向下、逐层分解的方式对问题进行分解和不断细化:软件的功能域和信息与都能做进一步的分解,可以是同一层次上的横向分解,也可以是多层次上的纵向分解。 3、 给出系统的逻辑模型和物理模型:逻辑模型给出软件要达到的功能和要处理的数据之间的关系;物理模型给出处理功能和数据结构的实际表示形式。2.1.4网络硬盘系统的需求分析 随着计算机网络通讯的飞速发展,计算机技术已经渗透到社会的各个领域。计算机的技术的广泛应用正逐步改善人们的生活,学习,工作。每个人都想拥有一份网络资源来方便学习和工作。在日常工作中,人们需要随身携带重要的文件来及时传递信息。这可以通过传统的计算机硬件设备,比如:3.5英寸A盘,或者是现在广泛应用的U盘,MP3等设备。用户可以方便的将自己的文件资料存储在这些设备中。然而,由于硬件设备自身的特殊性,在长期的使用过程中,磁道和扇区很容易被损坏,并且由于这些设备体积小,重量轻。也极其容易被丢掉。这些问题都会给用户增添一些不必要的麻烦,同时,随着人们物质文化生活水平的提高,用户为了丰富自己的业余文化生活,需要将一些图片或者多媒体课件保存在一个特殊的存储空间中以方便自己的使用以及好友对该文件资料的享用。出于解决用户这样的问题,决定开发网络硬盘文件系统。2.1.6功能需求 本系统给用户 办公单位提供了一个解决网络文件存储系统的平台,用户可以方便的将自己的文件上传并保存到该系统中。用户系统的主要功能要求: (1)用户可以了解该系统的功能组织情况; (2)用户可以上传自己的文件,图片等媒体资料; (3)用户可以共享,创建,查看目录; (4)用户可以了解在线用户,我的好友及收到站内短信; 管理系统的主要需求: (1)上传,修改,删除文件以及图片; (2)共享文件信息; 2.2概要设计2.2.1概要设计的一般原理 经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。概要设计的基本目的就是回答“概括的说,系统应该如何实现?“这个问题,因此,概要设计的工作将划分出组成系统的物理元素——程序,文件,数据库,人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。2.2.2用户模块设计(1)用户注册模块:注册包括,名称,密码,OICQ,邮箱,性别,年龄等基本信息,填好后保存至用户数据表。 (2)用户登陆模块:已经注册好的用户进入该系统,必须先进行注册,否则以游客进入系统。 (3)用户信息:当以注册好的用户名进入系统,将显示用户的具体注册信息。 (4)上传文件模块:将文件保存至指定的位置。 (5)创建目录:将创建一个文件。 (6)查看目录:可查看文件的相关信息。 (7)共享目录:作为公共资源与其他用户使用。 (8)在线用户:可以浏览当前在线的用户人数及信息。 (9)我的好友:可以查看好友的基本信息。 (10)站内短信:可以接受相关信息。 (11)使用帮助:用户可以得到相关的信息 。 (12)退出登陆:返回登陆界面。 2.2.3网络硬盘系统层次结构框图 网络硬盘系统分为两个子系统:用户系统和后台管理系统。 功能模块如图2-2-1: 网络硬盘系统网络硬盘系统退出登陆i用 户后 台 管 理上传文件创建目录查看目录共享目录在线用户使用帮助退出登陆i群组管理用户管理修改密码用户登陆用户注册户退出登陆i用 户后 台 管 理上传文件创建目录查看目录共享目录在线用户使用帮助退出登陆i群组管理用户管理修改密码用户登陆用户注册户图2-2-1 2.2.4 后台系统 主要由管理员进行以下管理:用户上传文件总数量、总容量,数量,容量, 用户群组,用户共享目录,用户所属群组权限,群组id,群组名称,群组允许上传数量,群组允许上传单个文件大小群组允许总体上传容量,群组允许上传文件格式,群组允许创建的目录数量,群组上传图片水印文字,群组上传文件路径。2.2.5数据库设计目前的网络开发,已经不是以前静态页面打天下的时候了。现在的网站,几乎都要涉及到大量的信息,传统的文件方式已经不在适用。用数据库来保存信息已经成为各种网络应用中的首选。对于一个ASP网站来说,Web数据库尤为重要,甚至可以说,数据库是一个网站的根本,而ASP只不过是一个工具而已。Web应用程序设计少不了数据库,因为只有数据库才能大量、快速地处理信息。使用ASP可以读取Access和SQL Server数据库,也可以读取其他ODBC(开放式数据库互联)兼容的数据库。 确定系统的流程图后,就要开始着手底层数据库的设计,只有完成数据库的架设后才能在以后的编程中对数据的操作有所依据。在进行本系统数据库的架设时我们选择的是微软的Access.因为它使用方便且在各方面能满足系统的要求。数据(Data)实际上是描述事物的符号记录,即根据事物的特征组成记录来确定一个事物,比如在设备管理系统中,设备仪器名称、型号、厂家、出厂号、购置日期、位置等构成的一个个记录。数据库(DataBase)是数据的集合体,并且数据记录之间按一定的数据模型组织和存储,使记录之间可以共享。在进行数据库的架构时,一般要遵循以下的规则:1.尽量减少数据的冗余性和重复。合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量小,应尽量按照关系数据库系统理论方法设计一个数据库,减少数据的冗余。2.结构设计与操作设计相结合。在设计数据库时,有时为了编程实现的简洁和思路的清晰,往往故意增加一些数据的冗余。这虽然有悖于传统的关系数据库理论,但是考虑到查询与统计的方便,对编程的实现有很大的好处,往往采用这种方法。3.数据结构具有相对的稳定性。数据结构的相对稳定性,可以作为新,旧信息系统转换的依据。根据系统功能设计的要求及功能模块的划分,对于系统信息数据库,可列出以下数据项和数据结构: 名称:用户信息表,如表2-2-1所示(user)。 用户数据表包括ID,Uusename,Pwd,Sex,Age,Address和Mail。表2-2-1字段名称类 型主 键非 空ID自动编号YesYesUusename文本YesYesPwd文本NoYesSex文本NoYesAge数字NoYesAddress文本NoYesMail文本NoYes(2)名称:管理员信息表 ,如表2-2-2所示(admin)。 表2-2-2名称字段名称类型主键非空编号ID自动编号YesYes登陆名Username文本YesYes密码Pwd文本NoYes (3)名称:基本信息配置表,如表2-2-3所示(vip-config)。表2-2-3字段名称类型非空描述ID自动编号YES编号Vip_name文本YES姓名(4)名称:文件路径信息表,如表2-2-4所示(Vip_Filedir)。 表2-2-4字段名称类型非空描述ID数字YES编号Userid数字YES用户登陆编号Name字母YES文件名称Time数字NO使用具体时间shareNO文件是否共享(5)名称:图片文件信息表,如表2-2-5所示 (Vip_Photo)。 表2-2-5字段名称类型非空描述ID数字YES编号Userid数字YES用户编号Filedir_id数字YES文件编号Size数字NO文件大小ShareNO图片是否共享2.3详细设计2.3.1详细设计的一般原理 详细设计阶段的根本目标是确定应该具体地实现所要求地系统,也就是说,经过这个阶段地设计工作,应该得出对目标系统地精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终的程序代码的质量。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。 2.3.2分模块介绍各模块的关键技术、程序实现方法 本系统的程序主要是采用模块化思想来编写的。例如系统中的conn.asp文件,在程序的开头是各个功能模块。 (1)系统配置模块(config.asp) 此模块功能主要是定义整个系统的变量,系统所要用到的变量,其本上在这里定义。语句如下: dim WebName dim border dim sessionvar ┇ ┇ WebName="网络硬盘 " '设置站点名称 border="#666666" '设置边框颜色 ┇ ┇ 判断用户信息文件(user_config.asp),判断管理员信息文件(admin_config.asp)。 (2)连接数据库模块(conn.asp),此模块主要功能是建立与数据库的连接,这在论文第三章创建数据库连接中已讲过,这里不再重复叙述。 (3)加密函数模块(md5.asp),此模块的主要功能是对用户的密码进行加密。 (4)本页面应用模块(Boards.asp),此模块建立一个整体的框架。此模块是本页面的主体部分,随着页面的不同,调用模块也不相同。 (5)注册页面模块(reg.asp),此模块是新用户进入系统的主要功能模块。 (6)登陆页面模块(default.asp),通过该功能模块,用户可以输入注册用户名和密码进入系统。 以上便是一个用户程序大概的结构。此外还有其他的功能模块。 后台系统,此系统由四部分组成:群组管理,用户管理,修改密码,退出登陆。管理员管理管理员管理其实是管理员注册,可添加新的管理员。在管理员管理此页面上,注册新的管理员就好像添加了一条新的记录。添加新的管理员只包括两部分:管理员名称和密码。在此页面上,除了上面讲的添加管理员这项功能外,在每条记录的操作栏里还有修改(edit)和删除(del)两项功能。点击edit便能进入编辑管理员页面,在这个页面上可以修改管理员的名称和密码;而点击del则进入删除管理员页面,按“确定删除”按钮便可删除本条记录。修改资料修改资料的功能跟管理员管理页面上edit的功能差不多,但不同的是管理员管理页面上edit可同时修改管理员的名称和密码,而修改资料的功能只是修改密码,不能修改管理员的名称。退出管理使用退出管理功能,页面便回到了管理登陆界面,若要再进入,就要重新登陆。3)管理登陆 管理登陆模块设置在首页面,管理员只有通过管理登陆才能进入管理页面,才能对数据库进行管理。管理登陆文件admin/admin.asp,默认用户名密码 admin,用户权限分组,设置组权限即可设置所属组的用户权限。此程序使用无组件上传,自动创建组id目录-用户id目录-用户名目录。删除用户文件即删除用户所上传单个文件;删除用户即删除用户id目录(包括此目录下所有目录-文件);删除组即删除组id目录(包括此目录下所有目录-文件);目录创建删除需使用fso组件;图片水印使用GflSDK组件。使用session两个(session("user_id")为用户,session("admin")为管理)。2.3.2部分模块的设计和编码 (1)用户注册模块的设计和实现 功能:用户通过该界面输入自己的基本信息,以便登陆系统。用户的基本信息会保存在数据库中。在输入过程中,如果输入有误,系统会出现提示信息。 输入:名称,密码,重复密码,OICQ,邮箱,性别,年龄。 处理:输入用户资料,在reg.asp页面由HTML构造出用户输入表格。用户在相应的位置输入个人资料,按下“注册”就将数据提交到check.asp页面中。获取数据。读取form表单提交的数据,检查用户的输入是否符合规范。如果不符合规范就给出错误信息。连接数据库。连接数据库,以用户登陆名作为检索条件,创建记录集。若记录集不为空,说明该用户已经存在,给出提示,重新输入;若记录集为空,则说明该用户名还没人使用,将用户信息插入数据库。相关代码见附录。(2) 用户登陆模块设计与实现登陆模块需要涉及到登陆界面的安排设计,查询数据库的password表(密码表),同时将有关数据记录到log表(日志表),还需要有用户错误操作的提示信息。功能:获取从reg.asp页面传来的数据,检索User数据表,核对用户名和密码,如果该用户名和密码存在,显示登陆成功,否则进行注册处理。输入:用户名和密码。处理:从数据表中获取输入数据判断是否为空,空则重新输入。检索用户数据表,查看用户是否存在。输出:登陆成功页面。 处理:在各个功能中,都是通过超链接进行信息的输出,模块的Asp代码见附录。 2.5程序测试 程序和系统的测试及调试的目的是发现程序和系统中可能存在的错误并及时予纠正。2.5.1程序代码测试 本系统在上一部分具体实现中的同时还进行了仔细的测试,在系统各个模块的编写中就开始测试,这样有助于尽早地发现系统中的错误,以减少在后面集成测试中出 现问题的机率,也减少在集成测试中的发现问题后修改源程序的难度。此时的测试主要是用到一些测试数据,测试数据除采用正常数据外,还包括了一些异常数据和临界数据,用他们来考验程序逻辑上的正确性。测试数据是经过精心挑选的,使程序和模块中的每一条语句都能得到执行,即能够测试程序中的任一逻辑通路。在本系统的测试中用了以下几种数据:1.用正常数据调试。在本系统中凡是有数据提交的地方都输入以确定无误的正常数据进行调试,例如:用户登录窗口中输入数据库中存在的用户信息等。2.异常数据调试。在执行本系统中的处理程序时要考虑一些临界数据。例如:空字符串。这些数据是最易被忽略的,也是最易使程序出错的,所以此处的调试花费了很长一段时间,经反复的调试和修改后,系统建立了比较完善的异常处理机制。3.用错误数据调试。用错误的数据进行调试主要是测试系统对错误的处理能力,包括显示出错信息及容许修改错误的可能性。在实现本系统的过程中也对此进行了大量的测试。2.5.2程序功能测试经过代码测试正确的程序只是基本上验证了程序逻辑上的正确性,但并不能验证程序是否满足程序设计中定义的功能,也不能验证测试数据本身是否完备。所以经过程序代码的测试后,还要进行程序功能上的测试。程序功能测试是面向程序应用环境,把看做一个”黑匣子”,认为程序只是满足应用功能上的需要,就是行的。因此我们也对本系统进行了以下两方面的功能测试:1.模块功能测试本系统是由多个功能模块组成,每一模块由一个或几个程序构成。这项测试主要还是自己完成的,我把各模块中的所有程序按次序串联起来进行调试,经调试修改后每一模块内各程序间终于建立了正确的控制关系,并实现了各模块间正确的通讯。 2.确认测试这一阶段的测试主要是检查系统的功能,性能及其他特征是否与用户的需一致,在此测试的工作主要由同学帮助完成,以确定该系统的功能是否能满足一般选民的需要,系统的性能是否稳定等。经过同学们反复的测试,返回很多的不同信息,根据这些信息,我再次对该系统进行了一些小的修改,以保证该系统投入使用后能安全、可靠、正常的工作,比如在这一阶段的修改有:在程序运行过程中,当进入系统主界面时,当点击后退时,程序返回不到系统登陆界面,在这个过程中,作者发现是由于 受session中变量的影响。所以,作者就在程序中session对象中的一变量进行了重新修改,问题得到了解决。 开始之初,当用户进入本系统的各个页面时,要想返回到主页或是该页的上一页时,都是通过浏览器的”返回”按钮来实现的,特别是浏览很多页面后要回到主页必须多次按下浏览器的”返回”按钮,这样对选民来讲是极其不方便的,后来根据系统运行流程在不同的页面都加上了”返回”链接,这样就能快速跳转到相应的页面了。2.6程序维护这个系统是我和另一名同学边写边测试的,且经过了最终确定性测试,但是系统测试不可能找出其中所有错误,因此系统中还可能隐藏某些未被发现的错误,而这些错误在系统运行后又会暴露出来。又由于本系统的开发是为了实现网上存储功能,为了保证系统的安全性,其本身的安全机制就显得极为重要,然而系统安全机制正是较为薄弱一环,同时虽是网上存储系统,主要是共用户进行网上使用,在使用过程中,比如:当用户在上传文件的时候,如果遇到突发事件,比如:断电,死机等现象,以前上传的信息就会丢失。再者就是,该系统包含的conn.asp该文件还需要改善,因为在登陆过程中,在本地运行页面打开的速度因该是相当快的。但是该系统反映速度比较慢,所以系统作的不够完善的。在今后时间里,我会进一步完善以上的不足之处,并逐步优化该系统,以提供更适用的功能。第三章 相关部分3.1相关技术本课题涉及系统的设计与实现,采用asp作为开发工具,运用软件工程的思想。在实际过程中,为了保证系统的正常运行,采用加密算法对用户的密码进行加密。系统的设计与实现涉及软件工程的开发方法,采用模块化思想,为系统设计一个切实可行的应用方案。从系统分析开始,分析用户需求,科学定义系统模块,建立较为完整的网络硬盘文件系统的体系结构。然后,开始对系统进行面向详细的设计,合理布局系统的逻辑结构,为系统建立模快。同时开始对系统数据库进行设计,从建立数据库系统结构开始,到实际数据表单的完成。最后是整个系统功能模块的设计。依据整体到部分,一般到特殊及可重用设计原则,为系统设计程序框架,实现完整系统。3.1.1 软件工程方法概述软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程.建立一个管理系统,是一项复杂的软件工程的实施。进20年多年,软件工程发展成为新科学,至今已经成为软件产业的重要支柱。他以计算机软件为工程对象,研究如何对其进行定义、开发、维护。随着计算机硬件技术的飞速发展,计算机软件在各个领 内作用日益突出。多年来被人们沿用的手工作坊式的软件开发方法,在软件产品的质量,成本及开发时间等方面都无法满足需求。用这种方法所开发的软件质量低劣、可靠性差用户难以使用、开发成本太高等问题,给软件项目带来严重的后果。最为突出的一个例子是60年代美国IBM公司开发OS/360系统。该系统有上千人参加工作,投入5000人年的工作量,花费大量的资金,却并未取得预期效果。60年代末期开始出现”软件危机”的种种迹象,人们逐渐认识到用个人小型程序的那种手工方式来研究软件已经不行了,必须寻找新技术来指导软件的开发。1968年,首先提出了”软件工程”这一名词,通过对程序中使用GOTO语句的讨论,导处了结构构化程序设计的概念,之后人们普遍重视需求规格说明书和系统设计在软件开发中的作用。到了80年代,软件工程思想得到系统的归纳和整理,提出了许多工程方法,如结构化生命周期法、快速原型法、企业系统规划法、战略数据规划法等3.1.2 开发工具的选择在进行系统开发工具的选择时,根据自身对技术的掌握程度以及接受能力,我选择了Dreamweaver.Dreamweaver在多媒体方面颇有建树的Macromedia公司推出的可视化网页制作工具,它与Flash、Fireworks合在一起被称为网页制作三剑客,这三个软件相辅相承,是制作网页的最佳选择。其中,Dreamweaver主要用来制作网页文件,制作出来的网页兼容性比较好,制作效率也很高,Flash用来制作精美的网页动画,而Fireworks用来处理网页中的图形。进行ASP程序的编写,之所以选用ASP开发,是由于它实现了Html(超文本标志语言)和Script(脚本语言)完美结合。用它开发Web 站点有如下诸多的好处和特点:1.需手动编译或链接程序。2.向对象,并可扩展acrivex server组件功能3.用脚本语言(javascript,vbscript,perl)编写4.存取数据库轻松容易(使用ado组件) 5.能使用自己编写任何activex server组件,且注册简单方便6.无浏览器兼容问题。7.用ASP编写的源程序代码在服务器端执行,在客户端仅能可看到由ASP程序输出的动态html文件,这样有利于系统的安全性。3.2相关过程3.2.1 asp技术概述Active Server Pages即ASP是微软开发的一种类似HTML(Hypertext Markup Language超文本标识语言)、Script(脚本)与CGI(Common GAteway Interface 通用网关接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用包括VBSCRIPT,JAVASCRIPT等在内的许多已有的脚本语言编写ASP的应用程序。ASP的程序编制比HTML更方便且更有灵活性。它是在WEB服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要安全的多。 对于广大网页技术爱好者来说,ASP比CGI具有的最大好处是可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。 ASP吸收了当今许多流行的技术,如IIS,ACTIVEX,VBSCRIPT,ODBC等,是一种发展较为成熟的网络应用程序开发技术;其核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。ASP中最为常用的内置对象和组件如下: Request对象:用来连接客户端的Web页(.htm文件)和服务器的Web页(.asp文件),可以获取客户端数据,也可以交换两者之间的数据。 Response对象:用于将服务端数据发送到客户端,可通过在客户端浏览器显示,用户浏览页面的重定向以及在客户端创建cookies等方式进行。该功能与Request对象的功能恰恰相反。 Server对象:许多高级功能都靠它来完成;它可以创建各种Server对象的实例以简化用户的操作。 Application对象:它是个应用程序级的对象,用来在所有用户间共享信息,并可以Web应用程序运行期间持久地保持数据。同时如果不加以限制,所有客户都可以访问这个对象。 Session对象:它为每个访问者提供一个标识;Session可以用来存储访问者的一些喜好,可以跟踪访问者的的习惯。在购物网站中,Session常用于创建购物车(Shopping Cart)。 Browser Capabilities(浏览器性能组件):可以确切的描述用户使用的浏览器类型、版本以及浏览器支持的插件功能。使用此组件能正确地裁剪出自己的ASP文件输出,使得ASP文件适合于用户的浏览器,并可以根据检测出的浏览器的类型来显示不同的主页。 FileSystemObjects(文件访问组件):允许你访问文件系统,处理文件。 ASP结构模型图如下图3-2-1所示:图3-2-1ASP技术有一个缺陷:它基本上是局限于微软的操作系统平台之上。ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB服务器的工作。 3.2.2 ADO技术ADO(数据库访问组件):它是最有用的组件;可以通过ODBC实现对数据库的访问。ADO全名是ActiveX Data Object(ActiveX数据对象),是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库解决方案,是ASP技术的核心之一。它作用在服务器端,提供含有数据库信息的主页内容,通过执行SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。 ADO主要包括Connection、RecordSet和Command三个对象, 它们的主要功能如下: ·Connection对象:负责打开或连接数据库文件; ·RecordSet对象: 存取数据库的内容; ·Command对象: 对数据库下达行动查询指令,以及执行SQL Server的存储过程。在ASP中,ADO可以看作是一个服务器组件,更简单的说,是一系列独立的对象。利用ADO对象完成对数据库的操作,具体步骤如下:(1)创建数据库源名DSN(配置ODBC)ODBC(Open DataBase Connection)既开放数据库连接,是一种允许应用程序从各种跨平台数据访问已有数据源标准规格中数据的应用程序编程接口。在使用ADO之前,必须先建立一个数据源。数据源包含了如何与一个数据提供者进行连接的信息。在这种情况下,将使用数据源与数据库建立连接。而在建立一个与Web服务器一起使用的数据源时,应该建立一个文件数据源。建立文件数据源的好处是连接信息存储在一个实际的文件中。数据库驱动程序使用Data Source Name(DSN)定位和标识特定的ODBC兼容数据库,将信息从Web应用程序传递给数据库。通过ODBC可以选择希望创建的DSN类型:系统DSN、用户DSN、文件DSN。用户和系统DSN存储在Windows系统注册表中,系统DSN允许所有的用户登陆到特定的服务器上去访问数据库,而用户DSN使用适应的安全身份证明限制数据库到特定用户的连接。文件DSN用于从文本文件中获取表格,提供了对多用户的访问,并且通过复制DSN文件,可以轻易地从一个服务器转移到另一个服务器。使用Access时,往往使用文件DSN方式,而使用SQL Server系统时多用系统DSN。创建DSN步骤如下:通过在Windows的“开始”|“设置”菜单打开“控制面板”,双击“ODBC数据源管理器”图标,然后选择“文件DSN”属性页,出现如图3-2-2:图3-2-2单击“添加”按钮,出现选择数据库驱动程序对话窗口,如下图3-3-3所示。图3-3-3在创建数据源选择驱动程序时,要根据使用的数据库来选择相应的驱动。如果在列表中没有驱动程序,则需安装其ODBC驱动。在“创建新数据源”对话框中,从列表框选择“Microsoft Access Driver”,然后单击“下一步”按钮。这时键入DSN文件名,本系统的数据源名为“myDB”,如图3-3-4所示。然后单击“下一步”按钮,则显示刚配置好的文件数据源的文件名和驱动程序信息,单击“完成”后创建了文件数据源。这时得到“ODBC Microsoft Access安装程序”对话框,。在安装对话框中单击“选择”,选择Microsoft Access数据库文件(*.mdb),如不存在数据库,则可以使用“创建”选项得到一个新的Access数据库。回到安装对话框,选择“确定”后回到数据源管理器窗口,这时可以在列表中看到创建的名为myDB.dsn的文件数据源。图3-3-4DSN是应用程序和数据库的桥梁,当ODBC驱动程序传送SQL指令时,DSN告诉它操作哪一个数据库。如果数据库平台改变了,只要表的结构没变,不用改动程序,只要重新在系统中配置DSN即可。(2)创建数据库连接在ASP文件中如果要访问数据,必须首先创建与数据库的连接。ADO提供的Connection对象,可以用来打开一个数据库连接,格式如下: <% Set conn = Server.CreateObject("ADODB.Connection") /*创建一个连接对象*/ connstr ="driver= {Microsoft Access Driver(*.mdb)}; dbq =“&server.Mappath(“sheibei.mdb”)” conn.open connstr %> /*打开数据库连接*/在连接了数据库后,便可对数据库进行添加、修改、删除等操作了。(3)创建数据对象ADO的数据对象通常保存的是查询结果。RecordSet是ADO中最复杂的对象,它保存的是一条条的记录,并标有当前记录。创建方法如下:SqlStr=“SELECT *FORM shebei.mdb”Set Record Set=Conn.Execute(sqlStr) /*创建并打开对象Record Set */执行这条语句后,对象Record Set中就保存了shebei.mdb表中的所有记录。操作数据库通过调用连接对象的Execute方法将查询结果返回给一个数据对象。Execute方法的参数对象是一个标准的SQL语句串,例如: sql="select * from admin where admin_name='"&adminname&"' and admin_password='"&adminpwd&"'" set rs=conn.execute(sql)(4)关闭数据对象和连接在使用ADO之后,一定要记住关闭它,因为它占用了一定的服务器资源。我们可以通过调用方法Close实现关闭,然后释放它。例如:Record Set.closeSet Record Set=Nothing /*关闭创建的数据对象*/Conn.closeSet Conn=Nothing /*关闭创建的连接对象*/3.3 安全性维护MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。一些黑客破获这种密码的方法是一种被称为“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2)….+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。在很多电子商务和社区应用中,管理用户的Account是一种最常用的基本功能,尽管很多Application Server提供了这些基本组件,但很多应用开发者为了管理的更大的灵活性还是喜欢采用关系数据库来管理用户,懒惰的做法是用户的密码往往使用明文或简单的变换后直接保存在数据库中,因此这些用户的密码对软件开发者或系统管理员来说可以说毫无保密可言,本文的目的是介绍MD5的Java Bean的实现,同时给出用MD5来处理用户的Account密码的例子,这种方法使得管理员和程序设计者都无法看到用户的密码,尽管他们可以初始化它们。但重要的一点是对于用户密码设置习惯的保护。第四章 软件使用说明4.1注册与登陆界面运行系统进入注册界面,如图4-1-1所示。图4-1-1用户填写好基本信息后,点击“注册”则进入系统“登陆”页面。如图4-1-2所示。图4-1-2:4.2系统主界面用户可由图4-2-1进入主界面。进入图3-3-3: 网络硬盘点击进入 重新登陆[忘记密码]图4-2-1在进入系统主页面后,通过左边的功能提示可进行相应的操作. 如图4-2-2所示。 图4-2-24.3 部分功能模块界面文件上传界面:用户可以通过该功能模块,上传文件资料.界面如图4-3-1所示.图4-3-1站内短信:用户可以向好友发送消息,界面如图4-3-2所示.图4-3-2第五章 系统总结5.1系统特点 本次毕业设计详细的介绍了网络硬盘文件存储系统开发过程,应用了系统设计比较常用的技术,所应用的技术都是Asp中较基础的知识,如:数据库的连接,数据集的创建。 如:Set conn=Server.CreateObject(“ADODB.Connection”) Conn.open”driver={Microsoft Access Driver(*.mdb)};dbq=”&Server.MapPath(“qiye.mdb”)Set rs=server.createobject(“adodb.recordset”) 该系统侧重于个人文件的存储、上传和共享。该系统上传文件方便,进入空间直接,界面简单明了,操作方便。(1)系统的设计要求体现了可行性,通过网络硬盘文件系统可以真实的让用户体会到该系统的优点。又要兼顾Internet的特点,为用户设计出快捷、方便的硬盘功能。(2)用户网上硬盘系统测验均需要身份验证,在设计中通过身份验证可以判断该用户有没有修改硬盘文件的权利。(3)系统具有良好的可扩充性,能根据用户不同的要求,进行相应的扩展,以进一步完善系统的功能。它目前主要面向学生、计算机从业人员、商业旅行者及其它移动办公用户。随着网络的高速发展,该系统有广阔的应用前景。可用在效果图公司、图文打印公司、广告公司等需要文件交流的公司;小团体情感交流,用户可以通过本服务和自己的老同学、同事等好友交流照片、好的软件以及情感留言。在程序设计后期,在系统中还可以增加“站内论坛”模块,进一步扩充系统的功能。 21世纪互联网呈现出的是一种全面复苏、蓬勃发展、多元开拓、广泛应用的发展态势。与传统的存储工具相比,网络硬盘文件系统具有以下优点:日常生活和办公环境中,我们经常需要通过网络存放文件或者共享数据,FTP,Email邮件、MSN/QQ等都能实现文件的传送,但是各有优缺点。其中,“FTP”功能最为强大,但使用起来却相当复杂;“Email”的传送比较方便,但是附带文件数最多几兆,使用也不直观;MSN/QQ等是实时传送文件的方法,需要双方同时在线。网络硬盘综合了各种优点,是一种功能强大、操作便捷、大容量、异步的存储工具。 只要您能上网,您就可以用您在我们这里注册的有效帐户进行登录,对自己的文件夹和文件进行管理,还可以跟用户及所有网民之间共享相册跟视频文件。因此,开发网络硬盘系统有广阔的市场发展前景。5.2 Asp+access的安全隐患5.2.1 安全隐患ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。1)Access数据库的存储隐患 在ASP+Access应用系统中,如果获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。例如:对于网上书店的Access数据库,人们一般命名为book.mdb、store.mdb等,而存储的路径一般为“URL/database”或干脆放在根目录(“URL/”)下。这样,只要在浏览器地址栏中敲入地址:“URL/database/store.mdb”,就可以轻易地把store.mdb下载到本地的机器中。 要解决这个问题,可以将文件的后缀名.mdb改为.asp,这样就不能被下载了。2)Access数据库的解密隐患 由于Access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行异或来形成一个加密串,并将其存储在*.mdb文件中从地址“&H42”开始的区域内。由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与*.mdb文件中的加密串进行第二次异或操作,就可以轻松地得到Access数据库的密码。基于这种原理,可以很容易地编制出解密程序。 由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。 3)源代码的安全隐患 由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。 4)程序设计中的安全隐患 ASP代码利用表单(form)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。例如在浏览器中敲入“……page.asp?x=1”,即可不经过表单页面直接进入满足“x=1”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施来避免此类问题的发生。 5.2.2 提高数据库的安全性 由于Access数据库加密机制过于简单,因此,如何有效地防止Access数据库被下载,就成了提高ASP+Access解决方案安全性的重中之重。 1)非常规命名法 防止数据库被找到的简便方法是为Access数据库文件起一个复杂的非常规名字,并把它存放在多层目录下。例如,对于网上书店的数据库文件,不要简单地命名为“book.mdb”或“store.mdb”,而是要起个非常规的名字,例如:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55 之类的深层目录下。这样,对于一些通过猜的方式得到Access数据库文件名的非法访问方法起到了有效的阻止作用。2)ODBC数据源在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。例如: DBPath =Server.MapPath("./akkjj16t/kjhgb661/acd/avccx55/faq19jhsvzbal.mdb ") conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&DBPath 可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了: conn.open "ODBC-DSN名"3)利用Session对象进行注册验证 为防止未经注册的用户绕过注册界面直接进入应用系统,可以采用Session对象进行注册验证。Session对象最大的优点是可以把某用户的信息保留下来,让后续的网页读取。比如:设计要求用户注册成功后系统启动hrmis.asp?page=1页面。如果不采用Session对象进行注册验证,则用户在浏览器中敲入“URL/hrmis.asp?page=1”即可绕过注册界面,直接进入系统。利用Session对象可以有效阻止这一情况的发生。结 束 语毕业设计对我们每个毕业生都非常重要。在两个多月的毕业设计中,通过广泛查阅与课题有关的内容,使我掌握了许多与计算机有关的东西,更重要的是使我对ASP、Access等软件功能和应用有了一定的了解。为此,我对设计一套完整的软件系统的步骤、方法及思路有了一个全新的认识。这加深了我对计算机软件设计的理解,同时也给我提供了一次为以后实际模拟锻炼的机会,我感到受益非浅。为此,我也希望我的毕业设计能给指导我的老师交上一份满意的试卷。通过这次的毕业设计,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高,同时我的专业水平也有了很大的进步。同时,在软件开发方面也累积了不少经验,特别是在对软件开发工具不很熟悉的情况下,通过自己的学习和导师的指导完成了设计任务。并在设计过程中,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对知识的理解。这次毕业设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。在学与做的过程中自身的努力以及相关图书资料的帮助,逐渐熟悉了ASP在数据库方面的应用知识。程序开发的一般过程和对数据库知识的进一步的了解,在这个快速发展的当代社会里,数据库已经普遍应用在各个领域。在这次的毕业设计中我学习到不少的数据库知识,但由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题,甚至错误。恳请各位老师批评指正,致使我在以后的工作和实践中加以改进和提高。参考文献参考资料:[1]欧阳周,刘道德。理工类学生专业论文导写。长沙:中南大学出版社 2000[2]刘小华,任廷奇 毕业论文写作指导 北京 科学出版社 2004[3]黄明,梁旭 Asp信息系统设计与开发实例 北京 机械工业出版社 2004[4]黄斯伟。HTML4.0动态网页制作。北京:人民邮电出版社. 1999[5]孙丽君, 吴红普. ASP编程基础及应用实例集锦 [M]. 北京: 人民邮电出版社. 2001[6]陈会.ASP网页制作彻底研究[M]. 北京:人民邮电出版社. 2001[7] Richard Anderson Chris Blexrud. ASP 高级编程[M]. 北京: 机械工业出版社.2001[8]李瑞旭. ASP实例教程[M]. 北京: 中国电力出版社. 2001[9]冯能山, 李其艺. --轻松学习ASP网络实用编程 [M]. 北京: 清华大学出版社 .2002[10]邓文渊, 陈惠贞, 陈俊荣. ASP与网页数据库设计 [M]. 北京 中国铁道出版社. 2001[11]张海藩.软件工程导论(修订版). 北京:清华大学出版社. 2002[12]张海藩,牟永敏。面向对象程序设计实用教程 北京 清华大学出版社. 2001致 谢光阴似箭,四年的大学生活转眼即将过去。这四年是我人生中最重要的阶段。在这期间,我幸运的遇到了许多好老师,在他们的帮助和指导下,我学到了大量专业知识及学习方法,这些知识和方法为我日后进一步学习打下坚实基础。在此,我要感激所有教过我,给予我帮助的老师们,正是他们无私奉献精神和诲人不倦的育人态度,才使我顺利成长。感谢大学四年中所有的任课老师,感谢他们对我学习上的帮助和影响,他们特色的教学风格,渊博的专业知识,高度的责任感给我留下深刻印象。 感谢大学四年和我一同走过的朋友们,与他们一起学习,生活,让我拥有许多难忘时光。我们共同经历成长中的一点一滴,无论是欢笑还是泪水,我都将铭记一生。本论文是在邓志宏老师指导下完成的。在本人毕业设计过程中,。父母的鼓励和支持帮助作者克服了许多困难,使得本科学业顺利完成。作者向邓老师及本人父母表示衷心的感谢!另外,同窗好友蒋鹏也给予了大力的帮助和悉心的指导,借此机会,一并向他表示感谢!感激大学四年在这里度过,它给我留下了最美好的回忆。附 录附录中有论文中部分模块功能的设计实现图以及源代码和MD5算法。附录1 源程序代码注册界面代码(reg.asp):<%OpendataDim Web_Vip_reg,Web_Vip_Name,Web_Vip_Callerweb_configif Web_Vip_Caller=1 thenresponse.write "已经停止注册"response.endend if%><%=Web_Vip_name%>