




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓 名: 学 号: 专 业: 指导老师: 实习单位: xx大学xx院xx年 xx月xxx本科生毕业论文网上在线文档系统的设计与实现目录摘 要4Abstract4第1章 绪论51.1 课题背景51.2 研究现状5第2章 相关理论基础62.1 设计语言:java简介62.2 数据库管理系统:MySQL简介62.3 开发工具:MyEclipse简介62.4 运行服务器:Tomcat 6.0简介7第3章 需求分析73.1 需求的意义73.2 需求的任务73.3 业务分析8第4章 数据库的设计与实现84.1数据设计简介84.2数据库涉及的实体94.3创建数据库和表94.4数据表设计结果134.5数据表的
2、关系图145.1 系统的总体设计与构思145.1.1 系统的设计原则145.1.2 系统框架图155.2 模块的设定及模块的功能155.2.1 文档管理模块165.2.2 用户管理模块165.3 系统的功能需求165.3.1管理员165.3.2上传者175.3.3浏览者17第6章 在线文档系统的详细设计186.1 文档管理模块186.1.1 文档上传186.1.2文档下载206.2 用户模块206.2.1 用户注册206.2.2 用户登录216.3 用户管理模块216.4安全退出22第7章 系统测试227.1 单元测试237.2 集成测试237.3 系统测试23结论24参考文献24致谢25网上
3、在线文档系统的设计与实现摘 要 互联网的快速发展给人们的工作、学习和生活带来了重大变化,它在人们政治、经济、生活等各个方面发挥着重要的作用,人们可以利用网络处理数据、获取信息,极大地提高了工作效率。近年来由于网站的种类与形式越来越鲜明,类似于文档的阅读下载网站发展的也越来越多。像国内的百度文库和豆瓣读书,国外的freebookspot等,文章阅读下载的网站也日趋成熟。通过上网用户可以在网络上突破时间和空间的限制而实现网上阅读。网上阅读网站的崛起对传统的图书流通体系产生了强烈的冲击,它有着经营成本低、用户检索方便、无地域限制等特点。 关键词电子文档;上传;下载;数据库Abstract The r
4、apid development of the Internet to the people's work, study and life has brought great changes, it plays an important role in people's political,economic, all aspects of life, people can obtain information processing data,using the network, which greatly improves the work efficiency. In rec
5、ent years,as more and more distinct types and forms of website development, readingdownload sites similar to the document is also more and more. As the domesticBaidu library and the famous book, foreign freebookspot, reading the download site is becoming mature. Through the Internet users can break
6、through time and space constraints in the network and the realization of onlinereading. Reading on the Internet site of the rise of the traditional bookcirculation system have a strong impact, it has the characteristics of low cost,convenient operation, the user retrieval without geographical restri
7、ctions etc. Keywordselectron document ;upload ;download ;database第1章 绪论1.1 课题背景 互联网的快速发展给人们的工作、学习和生活带来了重大变化,它在人们政治、经济、生活等各个方面发挥着重要的作用,人们可以利用网络处理数据、获取信息,极大地提高了工作效率。作为互联网开发所涉及的众多技术中,最为关键的网站建设技术在现代国内外网站的发展上起到了至关重要的作用,互联网上发布信息主要是通过网站来实现的,获取信息也是在互联网中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,倍受人们
8、的重视。 网络信息的发展,使得人们可以通过网络在最短的时间内阅读到自己所需的图书,给人们在繁忙的工作生活中读书活动带来了很大的便捷,网上阅读也成为了一种流行趋势。 1.2 研究现状 近年来由于网站的种类与形式越来越鲜明,类似于文档的阅读下载网站发展的也越来越多。像国内的百度文库和豆瓣读书,国外的freebookspot等,文章阅读下载的网站也日趋成熟。通过上网用户可以在网络上突破时间和空间的限制而实现网上阅读。网上阅读网站的崛起对传统的图书流通体系产生了强烈的冲击,它有着经营成本低、用户检索方便、无地域限制等特点。 网上在线文档系统能够将计算机内的各类文档分类管理,显示出该文档的文件名、类型等
9、信息,方便各类用户查找和使用,此系统对资料利用上资源共享,从而完全保护用户的硬件、软件和网络资源的投资,最重要的一点是保护用户已有信息资产的投资,提供海量数据存储功能,提供完善而科学的安全机制,使其在高度安全的前提下具有最大的开放性,提供原件电子文档的上传功能,提供原件电子文档的下载重复利用功能。因此,开发这样的文档系统是网上阅读的必然需求。第2章 相关理论基础2.1 设计语言:java简介 Java是一种被广泛使用的编程语言,它被用于构建可在Internet上运行的程序。它的主要特点在于,它是一种既面向对象又可跨平台的语言。跨平台是指程序可以跨越多种平台(Microsoft Windows、
10、Apple Macintosh和Linux等)运行,即编写一次,随处运行。Java不仅适用于单机应用程序和基于网络的程序,而且也可用于创建消费类设备和附件程序,如移动电话,掌上导航系统和其他小配件。 Internet使Java成为目前最流行的编程语言,同时Java对Internet的影响也意义深远。Java可以和HTML(超文本标识语言)无缝集成,把静态的超文本文件变成可执行的应用程序,极大的增强了超文本的可交互操作性。在Java出现以前,几乎没有什么工具可以在Internet上执行动态交互程序。2.2 数据库管理系统:MySQL简介 MySQL是一个小型关系型数据库管理系统,开发者为瑞典My
11、SQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle 收购。 目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低、使用普及率高和性能出色,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.3 开发工具:MyEclipse简介 Eclipse是一个开放源代码的、基于Java的可扩展的开发平台,也成为开发工具。Eclipse是一个功能完整且成熟的开发环境,由蓝色巨人IBM所发布,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会管
12、理。 MYEclipse是一个开源的开发项目,它是Eclipse的一个插件,专门用来开发 Java EE 程序。2.4 运行服务器:Tomcat 6.0简介 Tomcat服务器是一个免费的开放源代码的Web应用服务器。 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。第3章 需求分析3.1 需求的意义 需求是软件工程中最重要的环节,如
13、果不能在项目实施过程中把项目的需求弄清楚,后面所作的所有工作可能都是空中楼阁,最终是不能完成项目的。需求是后面所有工作的基础,在整个项目过程中大概需要30%以上的时间都投入在需求分析阶段,并且需要有专门的需求分析人员与需求方面进行沟通,分析。铁路数据处理系统的数据处理模块在需求分析阶段投入了大量的工作。3.2 需求的任务需求分析是软件开发流程中重要的一个环节,需求分析的基本任务是根据用户的需求,准确定义要完成的系统的目标,回答系统必须“做什么”的问题。通过与用户进行沟通,了解用户需要项目实施人员实现什么样的功能,指导后面项目实施人员向一个正确的开发方向,这里的需求方是指用户。这时只有需求分析人
14、员了解用户的真正需求,所以需求文档的输出是由需求分析人员完的,需求分析人员需要真确简练的表达用户的需求。另外,需求分析人员还有另外的用户:项目实施人员,项目实施人员并不知道用户的需求,他们只能从需求分析分析人员那里知道自己需要做什么。所以需求分析人员是对系统最了解的人。3.3 业务分析系统采用浏览器/服务器(简称B/S)结构,用户可以在线进行电子文档的提交和共享,搜索有利用价值的资料,从而提高了用户办公与开发的效率,缩短了开发周期及减少了开发费用,解决了施工企业分散作业与集中管理的矛盾。 系统主要由以下几个模块组成:文档上传模块,文档下载模块,文档查询模块,文档管理模块,身份验证模块,系统管理
15、模块。系统实现了用户登录,文档上传,文档下载,文档信息修改。使用本系统,客户端用户只需要通过浏览器访问就可以实现对文档阅读、下载的操作。第4章 数据库的设计与实现4.1数据设计简介 数据库设计是电子文档管理系统设计的很重要的一部分,将影响到系统以后数据的质量、数据库的可扩展性、数据运行的效率等,设计又分逻辑结构和物理结构两部分。 逻辑结构是系统处理的事件的数据之间的关系、分类、结构、这种结构是从用户的角度来看待数据,是面向用户的。逻辑结构的设计影响到数据库的冗余程度及可扩展性。 物理结构是数据在存储设备(如磁带机,硬盘等硬件设备)上的分布,是面向机器的,物理结构的设计将对数据的存储速度、效率,
16、数据的可恢复性产生影响。 关系型数据库是目前广泛应用于管理信息系统的开发一种数据库,关系型数据库是一种通过建立数据之间的关系来减少数据间的冗余,减少对数据的操作,从而减少误操作,提高效率。关系型数据库可通过建立数据间的关系将电子文档管理过程的各个环节的数据整合起来。4.2数据库涉及的实体 从功能模块的划分可知,本系统主要涉及两类实体:用户和文件。l 用户实体:需要记录用户的信息,包括姓名,电子邮件,口令等。l 文件实体:需要记录文件的信息,文件的名称,文件的上传时间,文件的所有者。为了更好的描述文件,还需记录文件的标题和类型。 这两个实体之间有一种关系,就是每个上传文件的用户是这个文件的所有者
17、。在设计数据库表时要注意两个实体之间关系的确立。 在设计数据库表时,一般要遵循下面几条原则:l 数据库的一个表,最好只存储一个实体或者对象的相关信息,最好能够遵循数据库设计中的第三范式。l 数据表的信息结构一定要合适,字段的数量一般不要过多。l 扩充信息和动态变化的信息一定要分别放在不同的表里。l 数据库表中最好有一个表示时间的字段。l 表的名字最好能够反映实体的含义,名字前最好有一个前缀或者后缀,这样当同时使用表和视图时,容易区分。l 字段的命名规则尽量一致,统一使用英文单词或者汉语拼音。4.3创建数据库和表 首先要创建一个数据库,在这里我们暂且使用MYSQL。在MYAQL中创建一个数据库,
18、名称为“file_db”。然后再创建四张表:admin 、tb_userinfo、t_resource和t_classinfo。 admin权限表4-1字段名类型是否是主键 是否为空描述usernamevarchar(20) 否NOT NULL权限passwordvarchar(20) 否NOT NULL密码 t_userinfo用户信息表4-2字段名类型是否是主键 是否为空描述accountNovarchar(20)是NOT NULL用户名passwordvarchar(40) 否NOT NULL密码emailvarchar(50) 否NULL用户邮箱 t_resource文件表4-3字段名
19、类型是否是主键是否为空描述resourceIdint(11)是NOT NULL文档idresourceNamevarchar(20)否NOT NULL文档名称classObjint(11)否NOT NULL文档类型authorvarchar(20)否NOT NULL作者uploadDatevarchar(10)否NOT NULL上传时间userobjvarchar(10)否NOT NULL上传者filenamevarchar(50)否NOT NULL文档名 t_classinfo文件分类表4-4字段名类型是否是主键 是否为空描述classIdint(11)是NOT NULL分类idclassN
20、amevarchar(20) 否NOT NULL分类名 在创建表的时候,注意表之间的关系,文件表的userobj是用户信息表的外键,文件表的classObj是文件分类表的外键。在MYSQL 中创建表的脚本文件如下:1)admin 表DROP TABLE IF EXISTS admin;CREATE TABLE admin ( username varchar(20) NOT NULL, password varchar(20) DEFAULT NULL, PRIMARY KEY (username) ENGINE=InnoDB DEFAULT CHARSET=gbk;2)t_userinfo
21、表DROP TABLE IF EXISTS t_classinfo;CREATE TABLE t_classinfo ( classId int(11) NOT NULL AUTO_INCREMENT, className varchar(20) DEFAULT NULL, PRIMARY KEY (classId) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=gbk;3)t_resource表DROP TABLE IF EXISTS t_resource;CREATE TABLE t_resource ( resourceId int(11)
22、 NOT NULL AUTO_INCREMENT, resourceName varchar(20) DEFAULT NULL, classObj int(11) DEFAULT NULL, author varchar(20) DEFAULT NULL, uploadDate varchar(10) DEFAULT NULL, userobj varchar(20) DEFAULT NULL, filename varchar(50) DEFAULT NULL, PRIMARY KEY (resourceId), KEY FKA6329B9990FE41DE (userobj), KEY F
23、KA6329B99B448F46C (classObj), CONSTRAINT FKA6329B99B448F46C FOREIGN KEY (classObj) REFERENCES t_classinfo (classId), CONSTRAINT FKA6329B9990FE41DE FOREIGN KEY (userobj) REFERENCES t_userinfo (accountNo) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=gbk;4) t_classinfo表DROP TABLE IF EXISTS t_userinfo
24、;CREATE TABLE t_userinfo ( accountNo varchar(20) NOT NULL, password varchar(40) DEFAULT NULL, email varchar(50) DEFAULT NULL, PRIMARY KEY (accountNo) ENGINE=InnoDB DEFAULT CHARSET=gbk;4.4数据表设计结果admin权限图4-1 t_userinfo用户信息图4-2t_resource文件图4-3t_classinfo文件分类图4-44.5数据表的关系图图4-5第5章 系统设计5.1 系统的总体设计与构思5.1.1
25、 系统的设计原则在进行概要设计时,我们应对照系统的需求分析来进行系统的整体设计,在保证实现系统功能需求的基础上,逐步实现系统的概要设计。在整个系统中按照功能的实现可以划分为不同的几大模块,对各个模块再做相关的处理,具体实现方法将在详细设计中阐述,在概要设计中主要的任务就是把整个系统的轮廓描述出来,按照实现的功能的不同确立系统的各个模块。在做此设计时应遵循如下原则:(1) 低成本。随着技术的进步和系统复杂性的增加,软件成本在整个系统中所占的比重越来越大,企业应用中已经达到25%左右,而且有继续增加的趋势。为了降低系统的成本,系统中各个模块都采用开源项目中的组件完成。它们不仅能够提供比较完善的功能
26、,而且还能根据系统需求进行适当扩展。(2) 规范性。从软件周期上来考虑,软件维护阶段在软件生命周期或生存期中占较大比重,有的可达软件生存周期的50-70%。所以需要软件在设计的过程中积极遵循各种规范,保证后期维护和开发人员能够快速理解系统。 (3) 易扩展性。系统的设计直接决定可扩展性。可扩展性是软件工程追求的目标,能够大大提高软件的复用程度,较低开发成本。本系统中采用界面与后台处理完全分离的形式,另外系统采用面向接口编程,这在很大程度上增加了系统的扩展性。系统采用分层机制设计,建立专门的数据访问层、服务层等,采用设计模式中的思想优化设计,从而最大程度上提高系统可扩展性。5.1.2 系统框架图
27、 此系统的每一部分都实现了其相关的功能,在整个系统中各角色分工明显,各司其职。 系统文件主要架构图如下:登陆页安全退出文档管理系统管理用户管理删除文档下载文档上传文档删除用户添加用户浏览用户5.2 模块的设定及模块的功能 模块分析是描述系统需求的一个过程,需要将需求分析中的感性描述进行抽象,提取出需要实现的功能,是整个系统开发的一个关键过程。分析的根本目的是在开发的人和提出需求的人之间建立一种理解和沟通的机制。在整个软件的构建中使用MVC 模式,在模块划分中同时指出用什么技术规范实现。根据前面提出的系统需求,对其模块的划分与功能描述如下:5.2.1 文档管理模块 1) 文件上传表单的显示,用J
28、SP 实现2) 处理用户上传的文件,用Struts2 实现3) 下载或者删除文件,用Struts2 实现4) 查询所有的文件,用Struts 2实现5) 显示所有的文件列表,用JSP 实现5.2.2 用户管理模块 1) 用户登录表单的显示,用JSP 实现2) 用户登录和注销操作,用Struts2实现3) 用户的删除,用Hibernate 实现4) 查询所有的用户,用Struts2 实现5) 所有用户的显示,用JSP 实现5.3 系统的功能需求作为一个实用完善的系统,合理的系统用户分配以保证系统安全是十分必要的,从便于管理的角度出发,系统的用户可分为系统管理员,上传者和浏览者三类,分别有各自的功
29、能权限。5.3.1管理员 管理员可以进行系统维护。系统维护主要用来设置一些初始化信息,如用户信息、文档资源信息,维护包括添加、删除和修改三种基本的操作、管理员是最大权限的用户,拥有本系统的所有功能的权限,管理员的职责主要是管理用户和维护系统。下图是它的用例图。图5-3-15.3.2上传者上传者可以登陆后,添加文档资源信息即上传文档,查看自己已上传的文档资源并操作如编辑和删除。下图是它的用例图。图5-3-25.3.3浏览者 浏览者可以不注册登陆就查看和下载文档资源,但若是想上传文档资源就必须先注册。下图是它的用例图。图5-3-3第6章 在线文档系统的详细设计6.1 文档管理模块 6.1.1 文档
30、上传 本系统是利用Struts2实现的文件上传,虽然Struts2本为提供自己的上传文件组件,但Struts2可以使用其他的上传文件组件,如Commons-FileUpload、COS等。Struts2为这些上传组件做了统一的接口,开发人员使用时,并不需要知道这些上传组件的细节就可轻松使用,不需要修改程序,而只需修改配置文件。本系统使用的为Commons-FileUplosd上传组件,只需在Myeclipse中引用commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar文件即可。图6-1-1图6-1-2图6-1-36.1.2文档下载 本系统是通过Str
31、uts2进行文件下载,Struts2提供了一个stream结果,该结果只需要简单地配置,就可以使用Action类实现文件下载。图6-1-46.2 用户模块6.2.1 用户注册 本系统使用Struts2框架实现用户的注册,系统中将操作数据库和处理逻辑的代码单独封装在DAO实现类中。这有利于代码的维护,更使代码的层次变得清晰。图6-2-16.2.2 用户登录 本系统使用Struts2框架实现用户的登录,系统中将操作数据库和处理逻辑的代码单独封装在DAO实现类中。这有利于代码的维护,更使代码的层次变得清晰。 图6-2.26.3 用户管理模块 此模块是通过在JSP页面中使用了Struts2标签来获得数
32、据,并使用Action类属性来封装这些数据。JSP技术可以将静态内容(如HTML、Javascript等)和动态内容(如Java代码)混合在一个文件中,使内容易通过客户端输出,更提供了代码的易读性。 图6-3.1图6-3.26.4安全退出此模块是通过一个Servletlogout完成退出功能。图6-4第7章 系统测试 由于软件开发复杂性的原因,软件开发过程中不可避免的会产生各种错误。为了在软件开发的顺利完成以及在软件投入实际运营之前,尽可能多地发现软件当中的错误,需要尽可能全面地对软件进行测试。目前软件测试仍然是保证软件质量的关键步骤,它是对软件需求分析、设计以及编码的最后的检查。 对应于软件
33、开发的各个过程,软件测试也分为几种不同的层次。每一个层次都是下一层次的继续。(1) 单元测试,单元测试对应于详细设计部分,从软件的详细设计中导出。软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。(2) 集成测试,集成测试对应于系统的概要设计,主要用来的是各个模块之间的接口的正确性。(3) 系统测试,系统测试的目的是通过测试发现是否需求分析中的功能相符。7.1 单元测试 单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。本系统的单元测试采用模块与模块分离的办法,单个网页实现,以网页为单位,每个触发时间都进行
34、了测试,主要是针对数据库访问错误和链接错误进行测试,在ASP.NET中,VS 2005有强大的测试工具,可以断点跟踪,可以运行单个网页,可以进行预览,这都给单元测试提供了极大的方便。7.2 集成测试 集成测试,也叫组装测试或联合测试。它是在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行的测试。集成测试应该考虑以下问题有:数据在模块接口之间穿越时是否会丢失;各个子功能组合起来,能否达到预计要求的父功能;模块之间是否会有不良的影响;单个模块中的误差是否会在其他模块中进行放大。合理地组织集成测试,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号和测试的次序、生成测试用例和调试的费用。通常,有两种不同的组装方式:一次性组装方式和增量式组装方式。7.3 系统测试 系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。 系统测试是将已经确认的软件、计算机硬件、外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑材料行业绿色建材研发创新报告
- 2025年电子竞技行业电子竞技赛事与游戏发展研究报告
- 2025年快递行业快递物流技术与末端配送模式研究报告
- 2025年金融行业金融科技创新与数字金融服务研究报告
- 2025年医疗器械行业智能医疗设备技术创新报告
- 2025年区块链行业技术发展与应用场景研究报告
- 2025年电子科技行业电子技术与信息产业研究报告
- 2025年数字证据行业技术发展与市场前景研究报告
- 2025年物流仓储行业智能物流与智能仓库研究报告
- 2025年妇科肿瘤手术前的检查常规模拟考试卷答案及解析
- 承包商全流程安全培训
- 养生店国庆节活动方案
- 古代文学史杜牧课件
- 7.1促进民族团结 课件 2025-2026学年统编版道德与法治九年级上册
- 西宁市供热管理暂行办法
- 静脉血栓护理课件
- 造口患者叙事护理
- 二年级数学上册100道口算题(全册11份)
- 《教育心理学》课程教学大纲
- 学校健康食堂学生营养餐带量食谱
- 中西医结合导论第一章中西医结合导论
评论
0/150
提交评论