已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北林业大学毕业论文 毕 业 论 文 基于javaee的网上文件管理系统摘要随着计算机及网络技术的飞速发展,在管理文件资源方向,利用计算机和网络技术来进行文件管理,具有以下优势:利于实现数据信息的共享,减轻管理员的工作负荷,使文件管理更科学更规范更安全因此,设计一个安全的网络文件管理系统是十分必要的系统采用b/s工作模式,使用javaee技术和mysql数据库平台主要功能如下:对于服务器端的文件实现多文件同时上传;对访问客户提供下载服务;多用户管理体系,能对用户进行目录与文件的访问限制;为确保系统安全性,服务器端配置了权限验证,此论文详细介绍了系统的需求分析,系统设计和具体实现最后,以表格形式给出测试结果关键词:javaee;文件管理;上传;下载 filemanagesystem based javaeeabstractwith the computer and the rapid development of network technology, resources and direction in the management of documents, using computer and network technologies for document management, has the following advantages: conducive to the sharing of data, reduce the workload of the administrator to make document management more scientific, more standardized, more secure. therefore, designing a secure network file management system is necessary.system uses the b / s mode, use the javaee technology and mysql database platforms. main features are as follows: for server-side file upload multi files at the same time; to visit clients to download service; multi-user management system to the user files and directories access restrictions; to ensure system security, server-side configuration of the authority verification, this paper introduces the system requirements analysis, system design and implementation. finally, test results are given in tabular form.key words: javaee; document management; upload; download目 录摘要iabstractii前 言1 概述1.1网上文件管理系统简介1.2 面向对象的程序设计1.3 开发环境及主要技术简介1.3.1 windows7操作系统简介1.3.2 java语言简介1.3.3 mysql数据库简介1.3.4 myeclipse简介1.3.5 css技术简介1.3.6 struts技术简介2需求分析2.1 功能需求2.2 数据流图3系统设计3.1 数据库表简介3.2 数据库逻辑设计3.3 数据库物理设计4程序应用实现4.1 基本任务4.2 程序后台部分4.2.1模型层4.2.2控制层4.2.3表现层4.2.4 登录功能点4.2.5 登陆成功功能点4.2.6 上传功能点4.2.7 管理功能点4.2.8 搜索功能点4.2.9 下载功能点4.2.10 后台功能点5 结论参 考 文 献致 谢 前 言互联网的发展速度,称得上让人叹为观止。在资源共享方面,更是受到广大人士的好评。现在,很多地方都开始使用计算机对信息进行文件管理,但是还有部分企业和单位尚未如此做。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等介质的手工处理,对于档案资料情况的统计和核实等往往采取对文件进行人工检查,对文件的实际情况以及其他信息进行人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统、规范的档案资料信息管理手段。尽管有着计算机这种高级工具,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是网上文件管理系统开发出来的基本原因。随着我国信息化浪潮的日益临近,网络资源方面的管理机制正在发生着天翻地覆的变化。不论是企业还是个人,想要在激烈的市场竞争环境下求得生存的机会,就必须有效地利用人才、时间、信息结合的优势,就必须有效地进行企业内部改革和加强企业管理。借助现代信息技术和管理理论,简历网上文件管理系统势在必行。文本这是从这方面出发,希望通过本系统的功能和设计,让资源管理不再繁重,让其从传统的事务性中解放出来,使得人们可以更专注于最需要智慧和经验的工作,做工作人员节省时间、提供方便的同时,提高资源管理方面的质量和效率。文档管理工作人员,必须完成由传统的管理模式向现代的管理模式的转变,由传统的管理理念向现代管理理念转变,同时在管理实践中应用,使文书档案管理工作赶上时代步伐,适应文书档案管理现代化和办公自动化的时代需要,为社会提供更好更有效的服务,使文书档案管理工作发挥出应有的经济效益及社会效益来。鉴于前面所提出的课程概况,本课题在深入了解文件资源、资料管理的基本情况下,用数据库和javaee的基本设计方法解决该课题,实现“无纸化操作”。主要叙述课题提出背景、目前应用现状、分析开放工具,数据库技术比较,结合软件工程方法吗,对系统进行需求分析、功能划分、流程图设计,并结合数据库原理和功能划分进行e-r模型图的绘制以及数据库结构设计。文件管理系统是针对本人对文档资料管理的调研,结合长期以来管理文档资料的经验而设计的计算机管理系统。提出了一套比较适宜的施行方案,并努力将原本复杂的管理业务、归类、存档等简化为比较简单的事务。他基本上秉承了传统的文档资料管理理念,同时也兼顾当今对现代管理信息的需要,着眼于实用、高效的原则。由于本人的水平有限,在本系统中难免存在错误和不足。望各位老师予以批评与指正。1 概述1.1 网上文件管理系统简介1)系统任务的提出。系统开发的工作是从接受任务开始的,而系统任务应由系统用户提出,以书面的形式给予表达。2)初步系统调查。初步系统调查着重了解存在的主要问题和用户提出的目的要求,并制定新系统总体规划。3)确定系统目标。经过初步系统调查,了解了用户的基本状况和用户对系统的设想及要求后,系统开发人员就可以初步提出文件系统的系统目标。4)系统的可行性研究。系统的可行性研究包括可能性和必要性。有技术上的,经济上的,人力资源上的,以及组织管理上的。经过系统的可行性研究,最后应写出一份系统可行性分析报告。分析报告是系统开发人员第一阶段工作的小结。5)详细的系统调查。通过详细的系统调查。可以得到人工管理业务的处理办法,并详细地掌握住处的流程,总结出现有业务过程的规律,存在的问题。从而提出改进措施。6)现行系统的描述与分析。着重用来分析现行系统页面设计后,相关性版块信息交互的方便性。特别是要分析现行档案系统存在主要问题和管理上的薄弱环节,以及产生这些问题的原因和解决办法。7)用户需求及功能分析。用户需求因不同用户而有所区别,但主要可分为系统范围,信息的处理和技术性三个方面。8) 新系统的逻辑模型。通过对现行系统的进行详细调查,分析及用户需求分析后,就可以确定新系统的逻辑模型。新系统的模型包括新系统的功能要求、目标、各级页面之间链接、数据字典。9) 编码对象的分析及编码体系结构的确定。在系统分析阶段,对现行系统及档案系统将要采用的编码对象及方法应该认真分析,以确定先进的科学的高效的系统编码体系。10) 系统的软件,硬件配置建议。分析人员应对档案系统所需的计算机系统的配置提出建议。11) 系统的物理编程。根据不同的系统要求以及用户软、硬件技术状况,在合适的平台上,选取相宜的档案语言和工具进行实际编程。12) 软件调查。对设计的原代码进行调试,以修改其中错误,从而确定系统的可靠性。13) 功能测试。对照系统分析中提出的系统功能要求,应进行系统的功能测试,以确定系统可预期的功能。14) 系统的性能评价以及完善文档。系统的性能评价应包括最基础的软硬件,支持系统占用空间等。系统交付时,应同时交付完善的文档。1.2 面向对象的程序设计面向对象的方法学是要求按人们通常的思维方式建立问题领域的模型,设计出尽可能自然表现求解方法的软件。所谓建立模型就是建立问题领域中事物间相互关系。而表现求解问题的方法就是人们思维方法的描述。在面向对象的设计方法中对象(object)和传递信息(message passing)分别表现事物和事物间的关系。类(class)和继承性(inheritamce)是描述人们思维方式的描述方法。方法(method)是在可进行的操作,这种对象、类、消息、方法的程序设计范式的关键在于对象的封装和继承性。通过封装(emcapsulation)能将对象的定义和实现分开。通过继承性,体现了类与类之间的关系,以及由此带来的基本特征。下面将从面向对象的方法学方面对有关概念作简要介绍。(1)对象我们把面向现实世界中的实体就称为问题空间的对象从动态的观点看,对象的操作就是对象的行为,从存储的角度看,对象是计算机内存中的一块私有存储区,在这块存储区中有数据、有方法。在面向对象的程序设计中,对象是该系统的基本运行实体,对于每个对象而言,都有与该对象对应的方法,而与每个对象相关的方法,就是定义了该对象的操作。(2)消息和方法在对象之间,消息是他们之间的唯一联系。在面向对象的程序环境中设计的程序,它的执行是依靠对象向消息传递来完成的。 把所有的对象分为各种对象类,每个对象类都定义了一组方法,所谓方法就是允许在对象类上进行的各种操作。(3)类在面向对象的程序设计中,对象是程序设计的最基本的单位,相似的对象可以并到一类中去,程序员只需定义一个类,就可根据这个类得到若干个实例,其中每个实例就是一个对象。(4)继承性继承性是自动地共享类、子类、对象中的方法和数据的一种机制,继承性个减少程序设计中编写代码的工作量,它不仅支持系统的可重用性,而且还促进了系统的可扩充性。(5)封装性所谓封装是一种信息隐蔽技术,用户只能看到对象封装界面上的信息,而对象内部对用户透明,封装的目的是把对象的使用着和对象的设计着分开,使用着只需设计访问对象的消息。(6)多态性当同样的消息可发送到父类的对象和它的子类的对象时,这就被称为多太性。由于多太性具有可表达对象的多个类的能力。因此,它既与动态类型有关,又与静态类型有关。(7)动态聚束一个程序经过编译,连接生成的可执行文件代码,其过程就是将执行代码聚束在一起,若这一过程发生在程序设计时,就称为动态聚束。面向对象语言常使用这一类聚束方式,它具有程序简单性和可扩充性等优点。本系统在编制过程中,多次利用面向对象的技术特点。在后面的章节中将分别予以说明。1.3 开发环境及主要技术简介整体程序开发在microsoft windows7 操作系统下完成;使用 myeclipse8.0 为开发工具;mysql 5.5数据库平台;microsoft e-rstudio 数据库设计工具;tomcat 6.0 为web 容器;javaee编译版本为 jdk 1.5 ; microsoft office visio 为 uml 建模工具;1.3.1 windows7操作系统简介windows 7是目前主流图形化操作系统,而java是一种优秀的面向对象的,支持多种数据库应用的开发工具。我在系统开发过程中深深地感受到java的强大威力。下面我结合自己的体会对java作一简要介绍。java是著名的sun公司推出的完全可视化的,支持多种数据库开发工具。使用面向对象的开发技术,能够开发出强大的专门针对用户的应用程序。具有强大的api函数库,支持activex和ocx技术。能够管理大量复杂的数据信息,同时具有很好的安全性。在后面的篇幅里,我将详细的说明我是如何利用java进行文件管理系统的系统开发的。1.3.2 java语言简介windows 7是目前主流图形化操作系统,而java是一种优秀的面向对象的,支持多种数据库应用的开发工具。我在系统开发过程中深深地感受到java的强大威力。下面我结合自己的体会对java作一简要介绍。java是著名的sun公司推出的完全可视化的,支持多种数据库开发工具。使用面向对象的开发技术,能够开发出强大的专门针对用户的应用程序。具有强大的api函数库,支持activex和ocx技术。能够管理大量复杂的数据信息,同时具有很好的安全性。java语言有很多特性,比如:1. 平台无关性平台无关性是指java能运行于不同的平台。java引进虚拟机 原理,并运行于虚拟机,实现不同平台的java接口之间。使 用java编写的程序能在世界范围内共享。java的数据类型与 机器无关,java虚拟机(java virtual machine)是建立在 硬件和操作系统之上,实现java二进制代码的解释执行功能, 提供于不同平台的接口的。 2. 安全性 java的编程类似c+,学习过c+的读者将很快掌握java的精 髓。java舍弃了c+的指针对存储器地址的直接操作,程序 运行时,内存由操作系统分配,这样可以避免病毒通过指 针侵入系统。java对程序提供了安全管理器,防止程序的 非法访问。 3. 面向对象java 吸取了c+面向对象的概念,将数据封装于类中,利用类 的优点,实现了程序的简洁性和便于维护性。类的封装性、 继承性等有关对象的特性,使程序代码只需一次编译,然后 通过上述特性反复利用。程序员只需把主要精力用在类和接 口的设计和应用上。java 提供了众多的一般对象的类,通 过继承即可使用父类的方法。在 java 中,类的继承关系是单一的非多重的,一个子类 只有一个父类,子类的父类又有一个父类。java 提供的 object 类及其子类的继承关系如同一棵倒立的树形,根类 为 object 类, object 类功能强大,经常会使用到它及其 它派生的子类。4. 分布式java建立在扩展tcp/ip网络平台上。库函数提供了用http和ftp协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5. 键壮性java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。java自已操纵内存减少了内存出错的可能性。java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发java应用程序的周期。java提供: null指针检测、 数组边界检测、 异常出口、 byte code校验。1.3.3 mysql数据库简介系统采用的数据库mysql是最受欢迎的开源sql数据库管理系统,它由mysql ab开发、发布和支持。mysql ab是一家基于mysql开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。mysql是mysql ab的注册商标。mysql是一个快速的、多线程、多用户和健壮的sql数据库服务器。mysql服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。mysql是一个数据库管理系统,一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像mysql这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。mysql是一个关系数据库管理系统关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“mysql”中的sql代表“structured query language”(结构化查询语言)。sql是用于访问数据库的最通用的标准语言,它是由ansi/iso定义的sql标准。sql标准发展自1986年以来,已经存在多个版本:sql-86,sql-92,sql:1999,sql:2003,其中sql:2003是该标准的当前版本。1.3.4 myeclipse简介myeclipse企业级工作平台(myeclipse enterprise workbench ,简称myeclipse)是对eclipse ide的扩展,利用它我们可以在数据库和j2ee的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的j2ee集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持html, struts, jsf, css, java script, sql, hibernate。在结构上,myeclipse的特征可以被分为7类:j2ee模型、web开发工具、ejb开发工具、应用程序服务器的连接器、j2ee项目部署服务、数据库服务、myeclipse整合帮助。简单而言,myeclipse是eclipse的插件,也是一款功能强大的j2ee集成开发环境,支持代码编写、配置、测试以及除错。1.3.5 css技术简介系统前台采用css技术,css是cascading style sheets(层叠样式表)的简称。css语言是一种标记语言,它不需要编译,可以直接由浏览器执行(属于浏览器解释型语言)。在标准网页设计中css负责网页内容(xhtml)的表现。css文件也可以说是一个文本文件,它包含了一些css标记,css文件必须使用css为文件名后缀。 可以通过简单的更改css文件,改变网页的整体表现形式,可以减少我们的工作量,所以她是每一个网页设计人员的必修课. css是由w3c的css工作组产生和维护的。使用css可以使内容与表现分离,有了css,网页的内容(xhmtl)与表现就可以分开了。表现的统一,可以使用网页的表现非常统一,并且容易修改,css可以支持多种设备,比如手机、pda、打印机、电视机、游戏机等。使用css可以减少网页的代码量,增加网页的浏览速度,减少硬盘容量。cssdiv是网站标准(或称“web标准”)中常用的术语之一,通常为了说明与html网页设计语言中的表格(table)定位方式的区别,因为xhtml网站设计标准中,不再使用表格定位技术,而是采用css+div的方式实现各种定位。 div元素是用来为html文档内大块(block-level)的内容提供结构和背景的元素。div的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由div标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。div+css的好处: 1)文件下载与页面显示速度更快; 2)容能被更广泛的设备所访问(包括屏幕阅读机、手持设备、搜索机器人等等) 3)用户能够通过样式选择定制自己的表现界面 4)所有页面都能提供适于打印的版本 对网站所有者的好处:1)更少的代码和组件,容易维护 2)带宽要求降低(代码更简洁),成本降低。举个例子:当 espn.com 使用 css改版后,每天节约超过两兆字节(terabytes)的带宽。 3)更容易被搜寻引擎搜索到 4)改版方便,不需要变动页面内容 5)提供打印版本而不需要复制内容 6)提高网站易用性。在美国,有严格的法律条款(section 508)来约束政府网站必须达到一定的易用性,其他国家也有类似的要求。1.3.6 struts技术简介后台采用struts技术。struts是基于mvc模式的java web应用的通用框架。struts的核心是actionservlet,actionservlet的核心是struts-config.xml。struts的主要作用是拦截前台请求,接收前台信息和转发信息。struts的主要组件有:actionform通常称之为formbean,用来封装页面的表单信息。action通常称之为actionbean,做出相关的业务处理。struts还自带了标签库,使用标签可以严格封装前台页面代码,使代码更安全、更简洁。2需求分析据权威部门统计,目前软件的成功率约为25%,75%的软件是失败的。在这75%的失败中,约有50%以上的软件是由于需求的原因造成的。作为软件的设计和开发人员常抱怨用户需求不明确,需求常处于变更状态。新的需求往往在开发阶段才被用户提出。造成软件的完成日期不断的迟后。需求分析的目的是完整、准确地描述用户的需求,跟踪用户需求的变化,将用户的需求准确地反映到系统的分析和设计中,并使系统的分析、设计和用户的需求保持一致。需求分析的特点是需求的完整性、一致性和可追溯性。完整性:是准确、全面的描述用户的需求。一致性:是通过分析整理,剔除用户需求矛盾的方面,规范用户需求。可追溯性:有两个方面的含义,整理和规范的需求,其一,需要不断的和用户进一步交流,保持和用户最新的需求一致;其二,和系统分析(设计)保持一致。因此在需求分析之前我们必须建立需求分析技术层面的基本框架,从技术上保证需求分析的要求,在此基础上我们进行的需求分析才能满足项目对需求分析的要求。2.1 功能需求功能需求是软件生命周期的一个重要阶段,它根本的任务是确定为了满足用户的需要必须做什么。具体地说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景,必须仔细分析系统中的数据,既要分析系统中的数据流。前台部分:(1) 实现用户信息的建立与维护:用户注册、登录、个人信息管理(2) 实现用户目录的管理:添加用户目录和管理用户目录(3) 实现上传下载功能模块:下载功能(4) 实现文件检索功能:查询文件功能后台部分:(1) 管理用户:管理员对用户账户的管理(2) 管理用户目录:管理员对用户目录的管理(3) 管理文件:管理员对文件的管理(4) 实现文件检索功能:后台的文件检索功能(5) 在功能设计的时候主要是对上的相关文章进行参考的2.2 数据流图数据流图描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。文档管理系统主要是为了对各种文档资料信息,卷宗信息,档案柜信息等进行计算机管理。所以主要的数据源应是文档资料,卷宗,档案柜的各种信息。它们在系统中流动和处理详细见下面的数据流程图:图2-2-1 系统数据流图从数据流图上容易看出该系统应具有对文件资料信息录入到数据库中的功能,可以修改,删除数据库中相关信息资料。可以对数据库的信息按某些字段或字段组合进行检索。同时应具有对数据库的信息作出相关统计等功能以及权限的划分。3系统设计 系统设计是信息系统开发工作的核心,其基本的任务是把原系统分析阶段得出的逻辑模型变换成系统的物理模型。即按照系统需求分析阶段确定的目标和逻辑模型,具体设计出效率高,适应性强,可靠性好且经济实用的系统实施方案。经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。设计的基本目的就是回答“系统应该如何实现?”这个问题,通过这个阶段的工作将划分出组成系统的物理元素程序文件,数据库,人工过程和文档等等。系统设计应从数据流程图出发。设想完成系统功能的若干种合理的物理方案。并和用户共同比较选定一个最佳方案。然后进行软件结构设计。在进行软件设计时应该遵循模块独立原理,确定软件由哪些模块组成以及这些模块之间的动态调用关系。同时可以设计出系统的层次和结构图。基于以上理论,结合需求分析阶段的数据流图和er图。设计出以下的模块和5个数据库表结构的设计。3.1 数据库表简介首先进行数据库逻辑结果的设计结果,本系统分为以下5张表:管理员表:此表为管理系统的最高权限表,不和任何表关联,管理员编号为主键,设立账号和密码两个字段。管理员编号(admin_id)、管理员账号(admin_name)、管理员密码(admin_pwd)。管理员编号管理员账号管理员密码图3-2-1 管理员表图3-2-2 管理员表(截图)用户表:此表记录用户的个人基本信息,用户编号为主键,直接操作和文件有关的息。用户编号(user_id)、用户名称(user_name)、用户密码(user_pwd)、真实姓名(real_name)、出生日期(birth)、用户头像(user_pic)、身份证(user_no)、电子邮箱(user_email)、联系电话(user_tel)。用户编号用户名称用户密码真实姓名出生日期用户头像身份证号电子邮箱联系电话图3-2-3 用户表(截图)图3-2-4 用户表(截图)文件表:记录用户所上传的文件的基本信息,文件编号与用户编号和分类编号相关联,具体信息如下。文件编号(file_id)、文件名(file_name)、上传时间(time)、文件路径(file_path)、文件简介(file_content)、用户编号(user_id)、分类编号(type_id)。文件编号文件名上传时间文件路径文件简介用户编号分类编号图3-2-5 文件表图3-2-6 文件表(截图)评论表:用户的反馈,是提高系统质量的直接因素,设立此表通过主键评论编号与文件表关联,用来记录系统访问者对所下载文件的意见。评论编号(review_id)、评论人名称(review_per_name)、评论时间(review_time)、评论内容(review_content)、视频编号(video_id)、文件编号(file_id),在设计这个表的时候我得到了蓝天工作室对我的辅导和支持。评论编号评论人名称评论时间评论内容视频编号文件编号图3-2-7 评论表图3-2-8 评论表(截图)分类表:一般用户上传文件的时候需要对类别进行描述,为了方便统一管理,类别一般有管理员规定。分类编号(type_id)、分类(type)。分类编号分类图3-2-9 文件分类表图3-2-10 文件分类表(截图)3.2 数据库逻辑设计数据库的逻辑设计一般是程序员或者dba比较头疼的问题,不同于使用工具的技术水平,逻辑上的失误往往会带来意想不到的麻烦,因为任何数据库工具也无法左右人的思维,所以数据库的逻辑设计在项目开发的过程中是名副其实的至关重要的概念结构设计的结果是e-r模型,但是它独立于任何一种数据模型,也独立于任何一个具体的dbms。为建立用户所需的数据库,需要把概念模型转换成为某个具体的dbms所支持的数据模型。数据库逻辑结构设计的任务是将概念模型转换成dbms支持的数据模型。逻辑结构设计的步骤:将概念模型转换成为一般的关系、网状、层次模型;将转换来的模型向特定的dbms支持的数据模型转换;对数据模型进行优化。e-r图向关系模型的转换:将e-r图转换为关系模型:将实体、实体属性及实体之间的联系转换成为关系模式。转换原则:(1)一个实体型转换为一个关系模式:关系的属性即实体型的属性;关系的码即实体型的码。(2)一个m:n联系转换为一个关系模式:关系的属性即与该联系相连的各实体型的码一级联系本身的属性;关系的码即各实体型码的组合。(3)一个1:n联系也可转换成为一个独立的关系模式;也可与n端对应的关系模式合并。转换为一个独立的关系模式:关系的属性即与该联系相连得各实体型的码一级联系本身的属性;关系的码是n端实体型的码。与n端对应的关系模式合并:在n端关系中加入1端关系的码和联系本身的属性;合并后关系的码不变。一般情况下与n端合并。(4)一个1:1联系也可转换为一个独立的关系模式,也可与任意一段的关系模式合并。转换原则同m:n关系。(5)三个或三个以上实体型间的联系转换为一个关系模式。原则同上。(6)同一实体集的实体间的联系可按上述得情况处理。(7)具有相同码的关系模式可合并。合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,并去掉其中同义属性。在数据库表结构完成之后,遵循关系数据库设计准则,将在表与表之间根据实际情况设计关联,逻辑模型如下:图3-2-1 逻辑模型图通过清晰而简明的数据库逻辑设计,表之前的关联一目了然,为设计数据库物理模型奠定基础3.3 数据库物理设计数据库物理模型的设计,完全遵行逻辑模型制定的各项规则,将表之间有关系的字段通过主外键关联起来。数据库的设计是整个项目中非常重要的部分,如果设计有误,而开发已经进行,再去修改数据库,会带来很多意想不到的麻烦,所以数据库设计的时候和需求分析所花费的时间往往相差无几。一旦生成物理模型,可以通过工具生成相应方言的数据库脚本代码,为开发提供方便。但是要注意在操作过程中应该考虑工具版本之间的兼容性,microsoft e-rstudio8.0工具在这方便比较完善,使用过程中注意每一个选项,避免不必要的麻烦。其他工具例如retionalrose也可以很好的做到这一点。熟练运用工具,不但可以提高开发效率,也能让代码更健康、更漂亮。本系统具体物理数据库e-r模型如下:图3-3-1-1 物理模型图 4程序应用实现 4.1 基本任务按结构化的程序设计思想,在完成了系统分析、系统设计后,就可以进行系统实现阶了系统实现是每指把系统的物理模型转换成实际运行系统的全过程。其基本任务是:a)前期准备b)系统平台的安装与调试c)程序的编制与调试d)信息系统调试e)数据库与文件的建立f)系统转换g)试运行、验收与维护4.2 程序后台部分本程序采用 mvc 设计模式,并使用 struts 框架 开发。在软件工程思想中,为了使系统更健康,更持久,使其可以不断更新、升级,代码中间分成若干层,采取“高内聚,低耦合”的设计思想,将后台代码分成以下若干层:4.2.1模型层 数据库连接类:负责数据库的连接,将连接数据库的方法代码单独封装,减少代码冗余,并降低代码之间耦合度。 (数据库连接类:图4-2-1-1-1)值对象类(vo):此类中封装的代码用来取得封装的属性,是此种设计模式中的javabean。在代码实现过程中主要起传递参数的做用。 (javabean类:图4-2-1-1-2) 操作数据库接口:书写接口,是开发过程中经常采取的策略,此策略也就是工厂模式,工厂模式要求必须要写借口。此处用到接口,仍然是遵循“高内聚,低耦合”的思想,让系统更容易维护、下图为接口的实现类。 (操作数据库接口类:图4-2-1-1-3)4.2.2控制层所有*.java类中出现大量如“action”和“form”字样,此为struts框架的基本结构,很好的实现的mvc设计模式的思想。action和actionform也是struts框架的重要组件。action继承于系统的action类,actionform继承于系统的actionform类。(控制层:图4-2-2-1)4.2.3表现层系统的前台与后台通过struts 配置文件 struts-config.xml 进行连接和控制转向,功能实现后模块如图,功能模块包括:管理员管理、个人管理、上传、注册等。(系统前台:图4-2-3-1)4.2.4 登录功能点在登录功能上,如果用户存在,则可以通过正常渠道进行登录,否则只能进行下载和搜索操作,在登录检验方面,使用struts标签进行控制;如果用户不存在,可以进行注册,成为更新该网站资源的一员。以下为非法用户:(登录窗口:图4-2-4-1)当用户登录成功,则在前台显示登录用户的姓名,如下图所示:(登录成功:图4-2-4-2)4.2.5 登陆成功功能点当用户成功登录后,可以进行以下操作:(操作菜单:图4-2-5-1)管理用户自己上传的文件:(管理文件:图4-2-5-2)4.2.6 上传功能点资源上传:此功能允许上传过程中对文件进行重命名。(文件上传:图4-2-6-1)4.2.7 管理功能点用户可以对自己的信息进行修改: (文件管理系统:图4-2-7-1)4.2.8 搜索功能点资源搜索:(搜索功能:图4-2-8-1)4.2.9 下载功能点下载功能:本系统规定,任何人都可以使用本系统资源,自行下载。下载功能开发时,处理了文件名乱码、下载流取消异常等问题(文件下载:图4-2-9-1)4.2.10 后台功能点本系统对于人力资源的管理同样做了开发,下图为管理员登陆:(管理员登录:图4-2-10-1)后台程序采用典型的frameset 技术实现,截图如下:(后台主页:图4-2-10-2)5 结论经过多日来的努力文档管理系统终于完成了。回顾这次毕业设计的过程,我觉得收获很大,现借撰写论文总结的机会,谈一谈我的体会。通过这次毕业设计,我掌握了一种新的数据库系统开发工具myeclipse。我对于它具有的可视化的编程环境和连接数据库的便捷性用感触颇深,myeclipse这些数据库的连接提供了多种方法。比如jdbc对初学着就非常容易掌握,当然利用语句对数据库的连接就可以实现对数据库的高级应用。java这种面向对象的数据库开发工具提供了非常友好的交互方式。利用设计好的窗体据库的记录进行操作,不但使用户更清楚记录的具体变更情况,也使开发人员的工作轻松了许多。同时,在这次毕业设计过程中,我始终遵循软件工程的思想,这使我的工作进度明显加快,也使我少走了不少弯路。软件工程的思想,指导我一步一步从系统分析,到系统设计,再到系统实现,让我对整个系统的开发过程有了明显的全局观念,也合理地安排了整个设计的时间。以上是我在本次毕业设计中的体会,也许认识到的问题还很肤浅,这也正是我今后要努力提高的。参 考 文 献1rogers cadenhead. java编程入门经典.梅兴文译.第4版.北京:人民邮电出版社,20072bruce eckel. thinking in java.英文第4版.北京:机械工业出版社,20073 张春雷,李文生,张玉柱.基于uml的库存物资管理信息系统建模.计算机工程与设计,2005,26(8):2210-2221;4 陈轶.姚晓昆编著.java程序设计实验指导.北京:清华大学出版社,2006/html/vb/20121211/8834.html 5杨昭编著.二级java语言程序设计教程.北京:中国水利水电出版社,20066赵文靖编著.jav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 图书馆消防安全管理协议
- 潍坊市二手房急售合同模板
- 员工关系管理图解
- 2022年大学环境科学专业大学物理下册期末考试试卷-含答案
- 2022年大学水产专业大学物理下册月考试题C卷-附解析
- 制造执行系统操作与应用课件 3-2-2生产任务派工
- 糖尿病视网膜病变宣教
- 2022年大学心理学专业大学物理二月考试题C卷-附解析
- 颈椎病分型及临床表现
- 2022年大学环境与安全专业大学物理下册月考试卷A卷-含答案
- 江苏省扬州市2022-2023学年高一上学期数学期中考试试卷(含答案)
- 手术分级目录(2023年修订)
- 【六年级】上册道德与法治-(核心素养目标)9.1 知法守法 依法维权 第一课时 教案设计
- 福建省福州市2023-2024学年六年级上学期英语期中试卷(含答案)
- 学习解读2024年《关于深化产业工人队伍建设改革的意见》课件
- 2024年中国汽车基础软件发展白皮书5.0-AUTOSEMO
- 车站调度员(高级)技能鉴定理论考试题及答案
- 期中综合测试(试题)-2024-2025学年语文三年级上册统编版
- 河北省衡水市枣强县2024-2025学年九年级上学期10月月考化学试题
- 航空危险品运输练习题练习试题及答案
- 演讲比赛评分表和计分表
评论
0/150
提交评论