1、1班 级 学 号 本 科 毕 业 设 计 论 文题 目 企业网络硬盘管理系统设计与实现学 院 软件学院 专 业 软件工程 学生姓名 导师姓名 摘 要摘 要随着互联网的飞速发展,物理硬件对于数据资料的保存和传输逐渐显得力不从心,人们越来越倾向于在网络上管理和共享文档,网络硬盘的使用也越来越普及。本文主要研究通过网络管理个人资料并共享给其他用户,并在此基础上为用户提供社交功能。在对开发 Web 应用的技术做了对比和分析后,选择采用微软的ASP.NET 框架,首先对系统的整体功能进行分析,构建出了登录注册、硬盘管理、好友管理、文件分享、短信管理、留言管理等功能模块,其次根据构建的功能模块对系统的界面
2、进行前期的大致设计,并对界面中的用户输入制定限制规则。接着介绍了两套后台数据库的设计方案,对其优缺点进行比较后选择并实现了其中一种方案作为本系统的后台数据库。然后根据界面设计对系统的所有页面进行前台与后台的编码实现,最终开发出了基于 B/S 结构的网络硬盘管理系统。测试表明,该系统可以对文件进行在线管理和共享。关键词:网络硬盘 ASP.NET B/S 结构ABSTRACTABSTRACTAs the fast development of the Internet, physical hardware has been not good at the saving and transferri
3、ng of the digital data. People have inclined to manage and share documents over a network, and the use of network drive has becoming popular. This paper mainly study the management of personal data and share it to other users through the Internet and provide social function on this basis. After comp
4、arsion and analysis to the technology developing Web application,ASP.NET framework of Microsoft has been chosen to use in this paper. First, the overall function of the system is analyzed, login and register, hard drive management, friend management, file sharing, message management and other functi
5、onal modules were being built in this phase.Secondly, design the system interface and user input restriction rules according to the functional modules built before. Then two design schemes of database are introduced, one of them is been chosen and used in the system developed in this paper after com
6、paring the advantages and disadvantages. Then coding the pages according to the system interface designed before and eventually implemented the network drive management system based on B/S structure. Tests have shown that this system can manage and share files online.Keyword:network drive ASP.NET B/
7、S structure目 录目 录第一章 引言 .11.1 项目背景 .11.2 网盘和几种传输技术对比 .11.3 本文主要内容 .2第二章 相关技术与工具 .32.1 技术的选择 .32.2 相关技术介绍 .32.2.1 B/S 结构与 Web 系统的三层架构 .32.2.2 .NET 框架与 ASP.NET 42.3 开发工具简介 .52.3.1 Visual Studio 2010 .52.3.2 SQL Server 2008.6第三章 系统需求分析和总体设计 .73.1 系统功能模块 .73.1.1 登录注册模块 .73.1.2 硬盘管理模块 .83.1.3 好友管理模块 .103
8、.1.4 文件分享模块 .113.1.5 短信管理模块 .113.1.6 留言管理模块 .123.2 系统角色 .133.3 系统界面原型设计 .143.3.1 主页 .143.3.2 网盘页面 .153.3.3 个人信息页面 .163.3.4 分享页面 .173.3.5 好友管理页面 .173.3.6 短信管理页面设计 .183.3.7 留言管理页面设计 .193.4 数据库设计 .19第四章 网络硬盘系统的具体实现 .254.1 数据访问层 .264.1.1 DbHelperSQL 类 .264.2 业务逻辑层 .264.2.1 文件操作的业务逻辑 .274.2.2 用户操作的业务逻辑 .
9、304.3 表现层 .314.3.1 WebDiskFrame.aspx.cs 314.3.2 Disk.aspx.cs32目 录4.3.3 Share.aspx.cs .334.3.4 Friend.aspx.cs 344.3.5 Message.aspx.cs 354.3.6 Notes.aspx.cs .36第五章 网络硬盘系统的使用与测试 .375.1 登录注册模块测试 .375.2 硬盘管理模块测试 .405.3 好友管理模块测试 .405.4 文件分享模块测试 .415.5 短信管理模块测试 .435.6 留言管理模块测试 .43第六章 总结与展望 .45致谢 .47参考文献 .4
10、9第一章 引言 1第一章 引言1.1 项目背景网络日益飞速发展的今天,信息和数据的交换变得非常普及,网络带宽里每分每秒流动着大量的数据和资料,如有疏忽,这些流淌的数据在你还来不及保存和备份下就转瞬即逝,淹没在网络数据的海洋里。在你的个人电脑硬盘变得越来越饱和,数据和资料已经存不下时,你急需一块新的空间来救急,亦或是在你需要转移某些资料时,发现 U 盘或者硬盘受到了病毒的攻击或者其他因素而导致失效,重要的资料因此而丢失,时间和金钱由此得到重大亏损。在上述背景和更多其他情况下,本文所开发的网络硬盘管理系统应运而生,对于网络中的有用资料,即点即保存,下载即可用,想要的资料不再担心会流失,重要的资料数
11、据上传即备份,不管是在家中、单位或者其他地方,联网就能对文件进行管理、编辑,再也不必担心病毒的侵害和其他不确定因素,犹如银行一般为我们保存管理着重要的资料和数据。网络硬盘,简称网盘,又称网络 U 盘,是一些网络公司将服务器硬盘阵列中多出的空间拿出来推出的在线存储服务。由于硬盘成本较高,所以网盘应用一般来说投资比较大,免费的网盘一般容量比较小,一般为 300M 到 10G 左右,另外为了防止用户滥用网盘还往往附加单个文件最大限制,因此免费网盘一般只用于较小的文件,而收费网盘则具有速度快、安全性能好、容量高、允许大文件存储等优点,适合有较高需求的用户。1.2 网盘和几种传输技术对比在网盘技术出现之
12、前,比较常见的文件传输技术有:E-Mail 附件、FTP 传输、网上邻居共享和网络硬盘,本文对这几项技术进行了资料搜集,各项特点对比如下:E-Mail 能很方便的实现用户间的通信,使用简便,应用广泛,但是不能普遍支持大容量附件,而且只能点对点进行通信,不能单点对多点进行发送共享。FTP 传输对文件的处理功能比较强大,但是使用起来十分复杂,繁杂的设置2 企业网络硬盘管理系统设计与实现使得用户望而却步,而针对特殊需求的设置就更加繁琐,且传输不支持断点续传,传输过程中断就必须重传,普及程度非常低。网上邻居通过在本地指定可分享的文件,同一网段的用户可以查看并根据权限读写和下载,分享十分方便,但是只能仅
13、限于小型的局域网用户,不能与其他网段的用户进行通信,使用范围十分有限。网络硬盘综合上述技术的优缺点,支持对大容量文件的传输,文件的管理操作丰富多样,满足用户一切需求,丰富的分享类型,支持对所有人、关系组好友、个人进行不同的分享,评论及空间等增值服务使得网络硬盘功能越来越强大,用户间的社交方式越来越多样化。1.3 本文主要内容在对项目的背景和前提进行了简要概述后,本文以开发一个 Web 应用的具体步骤实现了在 Windows 平台运行的网络硬盘系统。具体内容如下:第二章简要介绍了开发本系统所使用的技术与工具,为读者了解本系统的底层开发环境和使用技术做了铺垫。第三章主要讲解了系统的需求分析和设计,
14、主要说明了系统需要有哪些功能模块,每个功能模块又具体包含哪些子功能,然后对系统应该包含的页面进行了前期简要设计,同时对系统的后台数据库进行了构建,并说明为什么进行这样的构建,完成了前期的准备工作。第四章是本系统的主要实现部分,在由第三章得出的页面大致设计和数据库下对每个页面进行前台与后台的编码,完成了数据访问层、业务逻辑层和界面层的代码编写工作,得到了网络硬盘系统的成品原型。第五章对开发出的系统进行测试工作,主要从软件的完整性、正确性、安全性和质量进行测试,尽力排查系统的错误与漏洞并修复,并最终得出可交付的系统版本。第六章对全文进行了总结,并谈谈未来的工作。第二章 相关技术与工具 3第二章 相
15、关技术与工具2.1 技术的选择本系统使用了 B/S 结构进行开发,用户不再需要安装光盘或者下载安装文件,直接打开浏览器访问本系统网站即可。对于开发 Web 应用的技术,本系统在开发之初主要从下面两种主流的技术之间进行了选择:PHP(Hypertext Preprocessor)+MySQL 和 ASP.NET+SQL Server,PHP 是中小型项目最喜欢使用的技术,它的开源、灵活和免费应该是使用它的开发者们的首选理由,但是本系统却没有选择它而是使用了微软的 ASP.NET。其实对于一般的系统来说 PHP 和 ASP.NET 最终都能够完成,但是就前期准备工作来说,PHP 由于是开源的,没有
16、一个独立的公司来对其进行维护支持,与其相关的工具和更新需要到第三方开源社区去搜寻,而 ASP.NET 由于有微软的支持 1,所有的工具和环境都集成于 Visual Studio 中,开发过程非常简便,而且 ASP.NET 包含有一些做 Web 应用的特性和接口,比如母版页、数据控件、验证控件等,这些都为开发者减去了繁杂的编码工作,这也是本系统选用 ASP.NET 的主要原因。2.2 相关技术介绍2.2.1 B/S 结构与 Web 系统的三层架构B/S(Browser/Server) 2结构即浏览器/服务器结构。它是随着 Internet 技术的兴起,对 C/S(Client/Server)结构
17、的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事物逻辑在前端(Browser) 3实现,但是主要事物逻辑在服务器端(Server)实现。这样就大大简化了客户端计算机载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本,并有效地保护数据平台和管理访问权限。所谓三层开发 4就是将系统的整个业务应用划分为表示层、业务逻辑层、数据访问层,这样有利于系统的开发、维护、部署和扩展。其架构如图 2.1 所示。4 企业网络硬盘管理系统设计与实现图 2.1 三层架构示意图1) 表示层:负责直接跟用户进行交互,一般指系统的界面,用于数据录入、数据显示等。意味着
18、只做与外观显示相关的工作,不属于它的工作不用做。2) 业务量逻辑层:用于做一些有效性验证的工作,以更好地保证程序运行的健壮性。如完成数据添加、修改和查询业务;不允许指定的文本框中输入空字符串;数据格式是否正确及数据类型验证;用户权限的合法性判断等。通过以上的诸多判断以决定是否将操作继续向后传递,尽量保证程序的正常运行。3) 数据访问层:顾名思义,就是用于专门跟数据库进行交互,执行数据的添加、删除、修改和显示等。需要强调的是,所有的数据对象只在这一层被引用,除数据层之外的任何地方都不应该出现数据层的引用。2.2.2 .NET 框架与 ASP.NETASP.NET 是.NET 框架 5的一部分,要
19、构建 ASP.NET 的页面,需要利用.NET框架的特性。该框架是由微软开发的,一个致力于敏捷软件开发(Agile Softwaredevelopment) 6、快速应用开发(Rapidapplication development) 7、平台无关性和网络透明化的软件开发平台。它是一个多语言组件的开发和执行环境,提供了一个跨语言的统一编程环境。.NET 框架的目的是便于开发人员更容易地建立 Web 应用程序和 Web 服务,使得 Internet 上的各应用程序之间,可以使用Web 服务进行沟通。从层次结构来看, .NET 框架又包括三个主要部分:公共语言运行时(CLR:Common Lang
20、uage Runtime) 、服务框架(Service Framework)和上层的两类应用模版传统的 Windows 应用程序模版(Win Forms) 8和基于ASP.NET 的面向 Web 的网络应用程序模版(Web Forms 和 Web Services) 。第二章 相关技术与工具 5ASP.NET 是微软公司推出的新一代建立动态 Web 应用程序平台,是一种建立动态 Web 应用程序的新技术 9。它是.NET 框架的一部分,可以使用任何.NET兼容的语言(如 Visual B、C#、J# 、C+ )编写 ASP.NET 应用程序。Web Form 允许在网页基础上建立强大的窗体。当
21、建立页面时,可以使用 ASP.NET 服务端控件来建立常用的 UI(用户界面)元素,并对它们编程来完成一般的任务。这些控件允许使用内建可重用的组件和自定义组件来快速建立 Web Form,使代码简单化。与 Java、PHP、ASP3.0、Perl 等相比,ASP.NET 具有方便、灵活、性能优越、生产效率高、安全性高、完整性强及面向对象等特点,是目前主流的网络编程技术之一 10。其结构如图 2.2 所示:图 2.2 ASP.NET 结构1) 公共语言运行库:是所有.NET 程序的执行引擎,它的工作包括加载及执行.NET 程序,为每个 .NET 应用程序准备一个独立、安全、稳定的执行环境,包括内
22、存管理、安全控制、代码执行、代码完全验证、编译及其他系统服务等。2) 类库:.NET 框架面向所有的 .NET 程序语言提供了一个公共的基础类库(Class Library) ,该类库中提供的成百上千个面向对象的类就像许多零件,程序开发人员编写程序时只要思考程序的逻辑部分,其他如数学计算、字符操作、数据库操作等各种复杂的功能,利用这些零件进行组装即可。2.3 开发工具简介2.3.1 Visual Studio 2010Visual Studio 201011是微软公司为了配合.NET 战略推出的 IDE(Integrated Development Environment)开发环境,可以开发
23、ASP.NET 2.0,ASP.NET VB/C#,C+通用语言规范ASP.NET Web 窗体基础类库公共语言运行时VisualStudio.NET6 企业网络硬盘管理系统设计与实现3.0,ASP.NET 3.5,ASP.NET 4.0 Web 应用程序。因此,在开发 ASP.NET 应用程序时,需要安装 Visual Studio2010 集成开发环境。Visual Studio2010 开发工具包含了.NET 框架及 ASP.NET 程序开发服务器,在编写程序时该开发工具的智能代码提示功能会主动提示目前可用的属性,方法及参数等,程序开发人员可很方便地从中选择需要的代码。Visual St
24、udio 2010 的优点如下:1) 帮助开发者在各种视图(源、设计、拆分)下与 CSS、HTML 协同工作2) 支持 JavaScript、ASP.NET 和 C#的调试3) 为基于 FTP 的 Web 部署和数据库部署提供强大的内置支持4) 语法高亮、自动编译等智能感知帮助开发者提高编写代码的效率5) 易于迅速创建和发布高质量的 Web 应用6) 丰富的设计界面7) 使用集成的 Web 服务能够立即测试发布的 Web 应用2.3.2 SQL Server 2008SQL Server 200812在微软的数据平台上发布,可以组织管理任何数据。可以将结构化和非结构化文档的数据直接存储到数据库
25、中,可以对数据进行查询、搜索、同步、报告和分析之类的操作。其是一个丰富的关系型数据库管理系统。功能组件主要包括 Database Engine(数据库引擎) 、 Integration Services、Analysis Services、Reporting Services 等,分别用于数据存储、数据转化和集成、数据处理和数据输出。在网站中,SQL Server 被用在系统后台,使用它可以帮助管理数据库和程序任务,SQL Server 非常健壮,即便是在桌面系统它也大多被用作服务端数据库系统。第三章 系统需求分析和总体设计 7第三章 系统需求分析和总体设计对于系统的开发而言,系统的需求工作非
26、常重要,它规定了系统设计同意的最基本要求,需求分析的结果是系统设计实现测试验收和维护的依据。需求分析 13是在可行性分析研究的基础上,确定新项目必须完成的工作,既对项目最终目标提出完整准确和具体的要求。其具体任务是:确定用户对新系统的综合要求,分析系统的数据要求,导出新系统数据字典及系统流程,确定和评价系统方案,确定系统开发计划。3.1 系统功能模块结合市面上的网盘的功能以及用户对网盘的需求,对网络硬盘的功能模块结构分析如图 3.1 所示:图 3.1 网络硬盘系统功能模块3.1.1 登录注册模块该模块为用户提供注册及登录功能,进入系统的用户想要使用诸如管理硬盘、添加好友、分享文件等功能需要注册
27、为系统的注册用户才能享受这些服务。登录则是验证用户身份的手段。注册为用户创建了身份,这个身份是用户在系统中的唯一凭证,所以对用户的注册信息必须严格控制和保证安全,下面对注册模块进行简单的规定。注册分为两个阶段,第一阶段为必填信息,包括用户名、注册邮箱和登录密网络硬盘管理系统登 录 注 册 模 块硬 盘 管 理 模 块好 友 管 理 模 块文 件 分 享 模 块短 信 管 理 模 块留 言 管 理 模 块8 企业网络硬盘管理系统设计与实现码。用户名和密码为用户登录系统需要填写的凭证,注册邮箱则是为了方便用户找回密码而填写。为了系统的统一管理和安全性,对填写字段的字符规定如下:1) 用户名:用户名
28、可以是由字母、数字或中文所组成的字符串,用户注册的用户名不能出现重复且所有字符的长度不能超过 10。2) 注册邮箱:填写的邮箱必须满足邮箱格式,例如 。3) 密码:密码字段的长度不能少于 6,且需要输入两次以确认密码,两次输入的密码必须一致。上述所有字段均为必填字段,不能为空。第二阶段为选填字段,是关于用户身份的一些信息,这些信息可以帮助其他用户识别和了解该用户的身份。包括昵称、QQ 号、电话号码、性别、年龄、个性签名等,字段的规定如下:1) 昵称:可以是英文、数字或中文组成的字符串,长度不能超过 10。2) QQ 号:只能填写数字,且长度不能超过 12。3) 电话号码:只能是数字,长度必须为
29、 11 位。4) 性别:只能从“ 男” 或“女”进行选择。5) 年龄:只能填写大于 0 的数字,不能超过 150。6) 个性签名:可以输入任意字符,长度不能超过 255。模块结构如图 3.2 所示:图 3.2 登录注册模块3.1.2 硬盘管理模块该模块为那些已经注册的用户提供硬盘管理的功能,首先会为用户对应的用户权限组进行空间分配,用户在获得服务器分配的空间后就可以随意使用该空间,登陆注册模块登陆 注册必填信息 选填信息第三章 系统需求分析和总体设计 9其操作就像 Windows 资源管理器一样,可以进行复制、粘贴、删除、新建、移动等直观的文件操作。具体操作及功能如下:1) 刷新:刷新可以对由
30、于延迟或者其他原因而造成的显示不正常进行重新显示。2) 新建文件夹:该操作和 Windows 资源管理器中的新建文件夹操作一样,可以在网盘空间中创建一个文件夹,可以将其他文件或者文件夹移动、复制粘贴进入该新文件夹下。3) 新建文件:该操作对应与 Windows 下的新建文本文件操作,可以向该文本文件写入文字和字符。4) 剪切:与 Windows 资源管理器下的剪切操作一样,将某个文件或者文件夹剪切到剪切板,通过粘贴可将该文件或文件夹移动到所粘贴的位置。5) 复制:该操作需要与粘贴进行协同操作,当用户选择了需要的复制的文件后,通过粘贴可将选择的文件进行复制到粘贴的位置,与剪切所不同的是复制操作不
31、会清除原来的文件,而剪切则会。6) 粘贴:该操作就是将复制或者剪切的文件移动到新的位置。若没有先进行复制或者剪切,该操作就无效。7) 重命名:可以将文件或者文件夹的名字进行更改,对于文件夹,输入的新名称即为文件夹名,而对于文件,输入的文件名称只是更改原文件除后缀以外的名称,文件的后缀名无法更改,防止读取文件出错。8) 删除:删除操作将文件或文件夹从网盘空间中移除,但没有删除该文件,而是暂时存放在回收站中,方便用户还原误删的文件,想要真正删除文件需要在回收站下进行删除。9) 上传:用户可以将本地客户端上的资料文件通过上传方式上传到网络硬盘服务器,亦即用户的网盘空间,该方式一次只上传一个文件。10
32、) 批量上传:该操作也是上传文件,但与上一个不同之处在于该方式是基于插件的批量上传,用户可以在只上传一个文件时选择普通上传,而在有多个文件需要上传时选择批量上传。11) 分享:通过该操作可以将用户空间中的文件资料进行共享,其他用户可以看见该文件并进行下载。模块结构如图 3.3 所示:10 企业网络硬盘管理系统设计与实现图 3.3 硬盘管理模块3.1.3 好友管理模块该模块为用户提供添加好友并为其进行管理的能力。经过注册的用户可以在此输入好友的用户名进行添加好友然后可以访问彼此的分享文件、留言板和互发短信,为用户间的社交通信提供了基础,拉近了网站用户间的距离。该模块主要有以下功能:1) 新建分组
33、:注册用户可以为不同的好友添加不同的分组,方便管理庞大的用户关系。需要注意的是不能新建已经存在的分组。2) 删除分组:当用户不再需要某个分组时可以选择删除该分组,但是删除该分组时,该分组下的好友并不会跟着删除,其仍存在于用户的所有联系人中,只有在所有人分组下进行删除好友才能完全删除该好友。3) 新建好友:用户要添加好友时只需要输入用户的用户名,系统会为其进行查找,找到存在的联系人后为其选择分组即可将该联系人加为好友。需要注意的是用户输入的用户名不能是自己和已经存在好友关系的用户,系统需要能检测用户输入并提供反馈信息。4) 删除好友:当用户在某个用户组下选择某个联系人后可以删除该用户组下的该联系
34、人,同时要注意的是在关系组下删除好友并不能真正删除该好友新建文件夹新建文件剪切复制粘贴重命名 删除上传批量上传分享刷新硬盘管理模块第三章 系统需求分析和总体设计 11关系,该好友仍会存在于所有联系人关系组下,只有在所有人频道下进行删除才会真正删除好友关系。5) 移动好友:该功能将某个好友从一个关系组移动到另一个关系组,方便好友之间的管理。模块结构如图 3.4 所示:图 3.4 好友管理模块3.1.4 文件分享模块该模块管理用户分享的文件资料,用户分享某个文件时可以选择公共分享或者私密分享,公共分享时所有用户包括非注册的访客也可以查看该公共分享下的所有文件,私密分享时则可以选择分享的指定用户,只
35、有指定分享对象的用户才能在私密分享中看见分享给其的文件,该功能极大的改善了用户共享方式,用户可以按照自己的意愿进行文件的分享操作。模块结构如图 3.5 所示:图 3.5 文件分享模块3.1.5 短信管理模块该模块是用户间进行交流沟通的方式之一。类似手机短信,一名注册用户可以向另一名用户发送短信息,短信以发件的形式经过系统发送到另一名用户的收好友管理模块新建分组 删除分组新建好友 删除好友 移动好友文件分享模块公共分享 私密分享12 企业网络硬盘管理系统设计与实现件箱中,初次接收到该信息时该短信处于未读状态,一旦用户点击阅读或者用户手动将其标记为已读后该短信变为已读状态。通过该模块增进了系统用户
36、间的沟通能力。该模块详细功能如下:1) 按类别查看:该模块应有用户为所有短信分类过滤的选项,用户可以从数量众多的短信中选择查看收件、发件或者所有,通过此可以功能可以迅速过滤掉用户不想查看的信息。2) 按状态查看:该选项分为未读、已读和所有,用户可以轻松查看自己还未读的短信或是查看那些已经看过的短信,该功能在上一基础上进行二次过滤短信,为用户选择短信增加了简易性和快速性。3) 标为已读:该选项提供给用户一个强制控制短信状态的选择,在用户不再想查看某些短信时,可以选择这些短信标记为已读,下次进入短信时就可以重点关注那些新的未读短信。4) 标为未读:该选项对应上一选项的逆向操作,通过该操作用户可以将
37、某些短信重新标为未读,从而下次进入短信时重新提醒用户进行查看该短信。5) 删除信息:该操作将那些用户不再需要的短信进行删除处理。模块结构如图 3.6 所示:图 3.6 短信管理模块3.1.6 留言管理模块留言管理模块实现了现在互联网上的论坛或贴吧的留言回帖功能。每一个用户都有一块留言板,类似于一个用户的个人主页,主页显示了用户的个人信息和一些该用户的分享信息,其他用户可以访问该个人主页查看浏览用户的信息,并且可以在这个页面给用户留言,所有其他用户包括访客均可在这里留言,所有留按分类查看 按状态查看短信管理模块标为已读 标为未读 删除短信第三章 系统需求分析和总体设计 13言按照留言时间进行楼层
38、排序。其主要操作有以下三点:1) 发表留言:所有用户包括访客和主页用户本人均可以发表留言,留言可以输入一切字符,但是总的字数不能超过 255。还可以增添类似 QQ 表情的功能增进留言的趣味性。2) 回复:所有用户均可以使用该操作,可以针对某一条已经发表的留言进行回复,回复本身也是一条留言,但是会将回复的那段留言也加入到你的留言中去,这样可以非常直观地告诉其他用户你的回复是针对谁的留言,用户间的对话一目了然。3) 删除留言:对于主页用户来说,所有留言都是显示在其个人的页面上,一旦有一些不好的留言出现例如谩骂和其他不健康的信息,用户一定不想在他的页面上看到这些留言,所以为主页的用户添加了删除留言的
39、功能,用户可以自由选择删除某一条留言,方便其对个人主页的管理。模块结构如图 3.7 所示:图 3.7 留言管理模块3.2 系统角色网络硬盘系统的功能应该为所有经过注册的用户进行服务,但是后来考虑到分享及社交的广泛性,也加入了非注册用户,但是其功能服务受到一定限制。所以网络硬盘系统的用户角色有:管理员、注册用户和访客(即非注册用户) 。下面分别予以详细说明。1) 用户:即注册用户,该角色可以享受网络硬盘系统的绝大多数服务,包括注册、登录、硬盘管理、个人信息管理、好友管理、收发短信、分享管理、留言管理等。其用例如图 3.8 所示。留言管理模块发表留言 回复留言 删除留言14 企业网络硬盘管理系统设
40、计与实现图 3.8 网络硬盘系统用户用例图2) 管理员:管理员是网络硬盘系统中的具有较高权限的用户,其有着基本用户有的一切功能,除此之外他还可以对用户进行管理,管理的内容包括用户信息的管理和用户权限的管理。其用例如图 3.9 所示。图 3.9 网络硬盘系统管理员用例图3) 访客:该角色是系统中最低权限的使用者,只限于浏览网络硬盘的主页和查看用户的公共分享,要想使用其他增值服务必须注册为系统的用户。其用例如图3.10 所示。图 3.10 网络硬盘系统访客用例图3.3 系统界面原型设计本节对整个系统的所有页面进行大致的设计和说明,为系统实现部分提供编码和设计的依据。3.3.1 主页第三章 系统需求
41、分析和总体设计 15主页即系统最初始、用户进入系统首先看到的页面,该页面应该包含了系统大体的框架和各个主要功能的进入点,该页面的整体布局和设计应当以简单明了为原则,用户不会在一个很复杂的页面去寻找他想要的东西,一个简洁精美的页面会让用户感到舒适和好感。主页的大致设计如图 3.11 所示。图 3.11 网络硬盘系统主页设计考虑到非注册用户也可以进入该系统,故没有将登录与注册放在单独的页面中而是集成到了主页上,主页右上角是登录与注册模块,用户输入用户名和密码进行登录后该页面块就会变成显示用户的个人信息。导航栏包含了网络硬盘系统的一些其他通道,比如个人信息、全部文件、图片、音乐、视频、文档、其他、回
42、收站、我的分享、好友管理、短信息和留言板,用户点击导航就会跳转到相应的链接。空间信息显示了用户网盘的使用情况,包括用户的权限组、已用空间和总空间容量等信息。值得说明的是该页面是作为整个网盘系统的页面框架,其他所有的页面都作为该页面的子页面嵌入在上图的内容页面位置,用户在该主页上的所有其他操作得到响应和改变的部分都是内容页面,使用该设计既保持了页面的简洁也为后期实现其他功能模块减少了工作量。3.3.2 网盘页面该页面是用户的网盘空间页面,主要是为用户进行空间文件和资源的管理,该页面的设计主要包含三个方面:用户的操作、文件的路径和文件视图。其页面设计如图 3.12 所示。16 企业网络硬盘管理系统
43、设计与实现图 3.12 网盘页面设计该页面的操作部分由系统功能模块的分析可知包含有刷新、新建文件夹、新建文件、剪切、复制、粘贴、重命名、删除、上传、批量上传、分享。路径部分用于帮助用户定位,用户在频繁打开或退出文件夹时会不清楚所处的文件路径位置,该路径可以帮助用户快速定位想要打开的文件夹。视图显示部分即显示网盘空间里当前路径下的所有文件和文件夹,显示的信息包括文件的图标、文件名、创建日期和文件大小,由该视图用户可以十分明了地看见自己网盘的内容。3.3.3 个人信息页面该页面显示某个注册用户的详细信息,而且提供用户更改信息的选项。设计如图 3.13 所示。图 3.13 个人信息页面设计页面的上一
44、部分包含了用户的个人基本信息,包括昵称、QQ 号、电话号码、性别、年龄、个性签名以及头像,这些信息都可以即时进行编辑和保存。页面下部包含了该用户所处的用户组的权限信息,包括等级、网盘空间大小、单个上传文件大小限制、下载速度限制。第三章 系统需求分析和总体设计 173.3.4 分享页面分享页面展示了用户分享的文件和资料,所有用户包括访客均可以访问该页面,只不过在私密分享中看到的文件不一样,对应的用户只能看到分享给自己的文件,没有分享给自己的文件是无法看到的。该页面设计如图 3.14 所示。图 3.14 分享页面设计页面顶部包含了分享者的一些个人基本信息,主要包括头像、分享者的个性签名、公共分享文
45、件数和私密分享文件数。分享类别分为公共分享和私密分享,公共分享可以被所有用户包括访客查看和下载,私密分享下的文件只能被该分享者设置分享的用户看到。操作包括取消分享,分享者可以选择不再分享的文件进行取消分享操作,其他用户无法再看到该文件。分享的文件列表视图类似于网盘页面的文件视图,只不过创建时间一列变为分享时间。3.3.5 好友管理页面本页面用户可以添加、删除管理自己的所有好友,设计如图 3.15 所示。图 3.15 好友管理页面18 企业网络硬盘管理系统设计与实现页面顶部的左边是选择关系组,该关系组是由用户添加的方便为好友进行分类。操作一栏包含对好友的所有操作,包括新建分组、删除分组、新建好友
46、、删除好友和移动好友,对应的功能在系统功能模块中已叙述。好友信息列表列出了符合用户查看条件的好友,好友信息包括头像、用户名、昵称、性别、Email 、电话、 QQ。其中好友名称使用超链接,用户点击用户名可以转到好友的个人信息页面。3.3.6 短信管理页面设计本页面管理用户的收发短信息,这是用户间的主要通信手段,必须设计得当才能方便用户进行沟通交流,该页面的大致布局与好友管理页面比较相似,设计如图 3.16 所示。图 3.16 短信管理页面设计短信类别可以选择是收件箱、发件箱还是所有,状态可以选择未读、已读还是全部,这两个筛选条件可以为用户迅速定位想要查看的短信。操作包含标为已读、标为未读和删除
47、信息,使用这些操作为用户管理短信提供了极大的便利。短信息列表包含了又头部选项筛选之后的短信息列表,该列表包含了本条短信通信的用户名、时间、内容和回复操作,其中每条短信头部都包含两个图标,一个图标代表收件与发件,另一个代表未读和已读,由这两个图标用户可以轻易知道某条短信的状态,在内容列下由于页面宽度有限,不能将内容很长的短信全部显示,内容超过 20 个字符的短信超过部分将被“.”取代,点击用户名可以跳转到用户的详细信息页面,点击内容可以进入短信详细查看,点击回复可以快速回复短信。第三章 系统需求分析和总体设计 193.3.7 留言管理页面设计留言管理页面包含了用户收到的来自其他用户的留言和评价,
48、这些留言将一并显示在用户的留言页面上,用户可以对这些留言进行管理。大致设计如图 3.17所示。图 3.17 留言管理页面设计该页面的顶部包含了留言板主人的一些信息,包括头像、用户名、个性签名、公共分享数目和私密分享数目等。用户留言部分包含了所有用户在此的留言,留言将会按照时间进行排序,每一条留言包含的内容有:留言用户的头像、用户名、留言日期、楼层号、好友数、公共分享数和私密分享数,每条留言还会有操作,回复是每个用户可以点击的,用户的留言可以针对某一条已经存在的留言进行回复,删除操作只针对留言板主人使用,主人可以删除任意一条不喜欢的留言。发表留言部分是每一个用户进行留言的地方,用户可以在此输入任
49、何话语,还可以添加表情增加语气,点击发表后就将他们的留言插在了用户留言的最后一个,注意留言的字符长度不得超过 255。3.4 数据库设计本节包含了网络硬盘系统中所使用的数据库的设计,该设计并不完美,但在一定程度上实现了网络硬盘系统的基本功能。在得出本节的数据库设计之前,本文考虑了两套设计方案并选择了其中一种进行实现,下面对两种方案进行简单说明。两套设计方案的主要区别在于对网盘系统中文件的处理。第一种方案的思路是网盘存储只用一个根目录,用户所有的文件均存储在该20 企业网络硬盘管理系统设计与实现根目录下,而页面中父子文件夹的树形结构是虚拟的,可以在数据库创建一张表,该表记录着所有文件的 id 以及父目录的 id,用户在页面所看到的文件夹实际都是不存在的,从该表中读出根目录的 id 及名称再对其进行递归遍历即可得到该目录的全部子文件结构,然后按照用户操作显示当前的文件内容给用户。第二种方案的思路是每一位用户在服务器的空间中均分配一个目录作为该用户的根目录,该用户的所有文件及文件夹均实际存在于其根目录下,用户对文件的处理操作就与在自己电脑上的操作一样,因为是实际存