首页 【计算机软件毕业设计】基于web的个人阅读管理系统的设计与实现-(一稿)

【计算机软件毕业设计】基于web的个人阅读管理系统的设计与实现-(一稿)

举报
开通vip

【计算机软件毕业设计】基于web的个人阅读管理系统的设计与实现-(一稿)【计算机软件毕业设计】基于web的个人阅读管理系统的设计与实现-(一稿) 毕业设计(论文) 题目 基于web的个人阅读管理 系统的设计与实现 完整源代码68661508 二级学院 计算机科学与工程 专 业 软件工程 班 级 110030801 学号 学生姓名 指导教师 职称 时 间 重庆理工大学毕业论文 目 录 目 录 摘 要 ............................................................ I ABSTRACT ..........

【计算机软件毕业设计】基于web的个人阅读管理系统的设计与实现-(一稿)
【计算机软件毕业 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 】基于web的个人阅读管理系统的设计与实现-(一稿) 毕业设计(论文) 题目 基于web的个人阅读管理 系统的设计与实现 完整源代码68661508 二级学院 计算机科学与工程 专 业 软件工程 班 级 110030801 学号 学生姓名 指导教师 职称 时 间 重庆理工大学毕业论文 目 录 目 录 摘 要 ............................................................ I ABSTRACT ................................................................. II 第1章 绪 论 ............................................................ 1 1.1 课题研究背景和意义 ................................................. 1 1.2 国内外研究现状 ..................................................... 1 1.2.1 国内研究现状 ................................................... 1 1.2.2 国外研究现状 ................................................... 2 1.3 论文研究内容 ....................................................... 3 1.4 本文结构 ........................................................... 3 第2章 需求分析 .......................................................... 4 2.1 系统需求总述 ........................................................ 4 2.2 功能性需求分析 ...................................................... 4 2.2.1 用户管理 ....................................................... 4 2.2.2 阅读管理 ....................................................... 92.2.3 资料浏览 ...................................................... 14 2.3 非功能需求分析 .................................................... 18 2.3.1 硬件环境 ...................................................... 18 2.3.2 软件环境 ...................................................... 18 2.3.3 界面需求 ...................................................... 19 2.3.4 响应时间需求 .................................................. 19 2.3.5 经济可行性 .................................................... 19 2.3.6 操作可行性 .................................................... 19 2.3.7 法律可行性 .................................................... 20 2.3.8 系统安全性需求 ................................................ 20 2.4 本章小结 .......................................................... 20 第3章 系统设计 ......................................................... 21 3.1 概要设计 .......................................................... 21 3.1.1 体系结构的设计 ................................................ 21 3.1.2 系统层次结构 .................................................. 21 3.2 详细设计 .......................................................... 23 3.2.1 系统功能模块图 ................................................ 23 3.2.2 系统主要类的设计 .............................................. 23 3.2.3 用户管理 ...................................................... 24 3.2.4 阅读管理 ...................................................... 26 3.2.5 资料浏览 ...................................................... 27 I 重庆理工大学毕业论文 目 录 3.3 数据库设计 ........................................................ 29 3.3.1 概念设计 ...................................................... 29 3.3.2 逻辑结构设计 .................................................. 30 3.3.3 物理结构设计 .................................................. 30 3.3.4 数据库表设计 .................................................. 31 3.4 本章小结 .......................................................... 35 第4章 系统实现 ......................................................... 36 4.1 模块功能的具体实现 ................................................ 36 4.1.1 用户管理模块 .................................................. 36 4.1.2 阅读管理模块 .................................................. 37 4.1.3 资料浏览模块 .................................................. 41 4.2 主要技术难题及解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ............................................ 44 4.2.1 在线浏览问题 .................................................. 44 4.2.2 word文件与PDF文件内容的检索 .................................. 46 4.2.3 下载文件文件名中文显示问题 .................................... 47 4.3 本章小结 .......................................................... 48 第5章 系统测试 ......................................................... 49 5.1 功能性测试 ........................................................ 49 5.1.1 系统登录模块 .................................................. 49 5.1.2 用户管理模块 .................................................. 49 5.1.3 阅读管理模块 .................................................. 50 5.1.4 资料浏览模块 .................................................. 51 5.2 非功能测试 ........................................................ 52 5.2.1 GUI测试 ....................................................... 52 5.2.2 性能测试 ...................................................... 52 5.2.3 安全性测试 .................................................... 52 第6章 总结与展望 ........................................................ 53 6.1 结论 .............................................................. 53 6.2 展望 .............................................................. 53 致 谢 ................................................................... 54 参考资料 ................................................................. 55 II 重庆理工大学毕业论文 摘 要 摘 要 现如今,教师或科研人员在科学研究、阅读统计分析中,电子文档、资料、论文、书籍大量存在,这些资料一般都是比较分散地存储于个人计算机中,缺乏科学合理有效的管理。资料的安全性较差,检索不易,难以实现对资料的共享等访问控制,以至降低了资料本身的价值和使用效率。因而,如何实现对这些资料的高效且科学管理成为了一个需要解决的问题。在此背景下,针对这个需求,本文研究了基于Java Web的个人阅读管理系统的设计和具体实现。 本论文介绍了个人阅读管理系统的架构、工作原理等方面,也介绍了个人阅读管理系统的研究现状和发展方向,然后更进一步地分析了个人阅读管理系统的相关技术。接着介绍了个人阅读管理系统的功能需求。本论文 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 了系统层次的划分和模式的使用选择。围绕个人阅读管理系统的体系结构,运用UML技术抽象出对象模型然后进行系统设计。使用JSP、Servlet、Jcom、POI等技术解决了在线阅读资料、论文、书籍等资料,以及储存资料、下截资料、在Java中读取各类型文件的内容并进行条件检索,还有美化前台界面,用户登录的验证方式等等相关问题。并且对该系统的测试做了相关说明。最终实现个人阅读管理系统,从而让使用者从繁重不易的工作中解放出来,可以在本系统的协助下比较高效的对个人阅读资料进行管理。 本系统主要实现的功能有添加、删除、查询资料,常见电子文档(如txt, doc, docx, pdf等)的上传下载和在线打开,对不同用户的权限分级,管理员对用户的管理及登录日志管理等,用户之间资料的分享交流等功能。 关键词:阅读管理系统 在线阅读 阅读统计 资料分享 条件检索 下载资料 I 重庆理工大学毕业论文 Abstract Abstract Nowadays, teachers or researchers in science, reading statistical analysis, electronic documents, documents, papers, books. These data are generally more dispersed stored in a personal computer, a lack of scientific and rational and effective management. Less secure data retrieval difficult, difficult to achieve sharing of information, such as access control, as well as reducing the value and efficiency of the data itself. Thus, how to achieve efficient and scientific management of these data has become a problem to be solved. In this context, the demand for this paper studies the design and implementation of individual reading Java Web -based management system. This paper describes the personal reading management system architecture and operating principles, it also introduces the research status and development direction of individual reading management system, and further analysis of the individual reading management system related technologies. Then introduced the functional requirements of individual reading management system. This paper describes a system level and pattern of use of the division of choice. Read about the architecture of the personal management system, the use of UML technology abstract object model and system design. Using JSP, Servlet, Jcom, POI and other technology to solve the online reading documents, papers, books and other materials, as well as store data , information under the cut , read the contents of the various types of files in Java and conditions of retrieval, as well as beautify the front interface, user login authentication , etc. related issues. And do the test system instructions. Ultimately individual reading management system, which allows users to easily liberated from the heavy work, you can compare and efficient management of personal reading with the help of this system. The main function of the system have to add, delete , query data , common electronic documents ( such as txt, doc, docx, pdf , etc. ) to download and upload online open permissions for different users graded administrator user management and login log management , sharing and exchange of information between users and other features . Keywords: Reading management systems, online reading, reading statistics, data sharing, conditional search, download data -II - 重庆理工大学毕业论文 第1章 绪论 第1章 绪论 1.1 课题研究背景和意义 随着世界一体化和全球化席卷世界,办公自动化成为工作中需要。就是将计算机技术、通信技术、系统科学与行为科学应用于传统的数据处理技术难以处理、且量非常大而结构又不明确的那些业务上的一项综合技术。 越来越多的企业单位及个人认识到,利用信息技术的发展来改变对文档、资料的运作方法和管理模式,提高管理效益和生产效益,从而提高企业经济效益,增强企业竞争力是企业发展的趋势。在这种趋势下,企业对文档管理的方式与观念也在悄然发生变化。在传统的文档管理方式下,常常出现这样的情况:资料数据量大,关键时刻找不到需要的信息,浪费了很多工作时间,严重的甚至会错失决策时机;到了月末、年末大量的文件数据表格需要太多时间处理、统计、分析,应接不暇;除了人工对纸质文档检索速度慢,对资料的内容本身索引不科学之外,传统的阅读管理、查看方式流转速度不仅慢,而且工作流执行效果差,也就是对于文档的各种操作不 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ,同时保密性不强。如果将对文档的收集、挑选、重组和转发由计算机文档管理系统辅助,则 [1]可以快速定位,缩短信息链的长度和处理链的规模,提高工作效率,降低工作成本。 阅读管理系统的核心观点是:5C的概念,这就是沟通(Communication)、协作(Cooperation)、控制(Control)、创造(Creation)和方便(Convenience)。沟通是员工合作的基础。协作是保证工作顺利进行的前提。控制是指对工作流程实现监督控制。创新是企业最宝贵的财富。使用方便是对软件系统最基本的要求。 资料管理是信息资源管理的进一步深化工作,是把有效信息进行组织和加工形成资料(即整体化信息),从而达到信息的更优化利用。 阅读管理系统不仅是一个技术问题,更也是一个管理问题,只有对管理及管理业务有着深刻的理解,才会使文档管理系统有用武之地,能发挥作用。 1.2 国内外研究现状 1.2.1 国内研究现状 近些年来随着我国不断推进“十一五”制造业信息化工程,国内的制造业信息化取得了显著的成绩,与发达国家的差距正逐步缩短。尽管与国外软件相比性能与稳定性 -1- 重庆理工大学毕业论文 第1章 绪论 方面仍有差距,但在价格、适应企业需求及技术支持方面已经具有了一定的优势。 因为随着科学技术的发展,计算机辅助设计,办公自动化,制造以及互联网越来越广泛的应用,同时我们又面临着管理科技资料方面工作量大的问题。所以我们要实现充分利用计算机来管理科技资料,使阅读管理更加简单,效率更高,错误更少。 近些年来,一些相对较大的企业经常自行开发管理科技资料的软件,这样做有一定的优势,比如成本低,各级单位都可以重复利用,而且能满足一定程度上的个性需求。但事实证明,这种开发方式困难重重。首先,企业内的开发人员一般都缺乏项目经验,最终导致与用户的需求大相径庭;其次,这种形式开发的软件不会参于市场竞争,只是给自己公司使用,可能不会激起开发人员的热情,最后敷衍了事,最后开发的系统质量低下,发挥不出应有的作用。 此外,由于我国正处在从传统管理方式过渡到人力资源管理的转型时期,从思想到行动,科技资料的管理方法都发生着巨大的变化,用于摸索中的管理方式随时都可能发生那样或这样的变革,这就对阅读管理相关软件的开发提出了巨大的挑战,只有能够随着变革而自行适应的软件才具有强大的生命力。 1.2.2 国外研究现状 国外阅读管理系统的主要优势体现在:具有一定的合作伙伴,包括数据库公司、硬件厂商、资讯公司等,形成强者联手的格局。国外阅读管理系统起步早,成熟度和完整性高,开发出了适用于各种不同搜索的解决方案;国外的阅读管理系统往往伴随着管理理论的发展,其设计思路中蕴涵了先进的管理理念。西方发达国家已经开经广泛使用阅读管理系统,通常一些大型软件都在开发过程中预留一些与阅读管理系统的接口,使得今后阅读管理系统的扩展中难度降低。虽然国外有着较为成熟的技术产品,在先进性,成熟度上都优于国内大多数的产品,但在我国大多数公司阅读 管理制度 档案管理制度下载食品安全管理制度下载三类维修管理制度下载财务管理制度免费下载安全设施管理制度下载 不规范,导致国外产中在国内使用的有效性、实用性、大打折扣,而且价格昂贵国内企业难以接受。另一方面,国为我国企业受中华传统文化影响,阅读管理上比西方更要强调人性化而不是制度化。所以国外软件开发商很难开发出完全符合中国企业需要的产品。 国外软件为使内容更加丰富,增加了许多全新的模块,为查找资料提供了一个良好的平台。此外国外软件的界面友好,操作简单,管理相当规范,业务流程清晰。他们不仅仅是提供一套软件,更是一种全新的软件管理理念。但因为软硬件配置比较复杂,价格过于昂贵,很难买的起,这就决定了我国必须开发适合自己国情的阅读管理系统。 -2- 重庆理工大学毕业论文 第1章 绪论 1.3 论文研究内容 设计本阅读管理系统的主要目的就是让人们从大量的阅读管理工作中解脱出来,而实现阅读管理系统的设计,从而提高工作效率。 本文的主要研究内容有:首先了解现有阅读管理相信息,设计出能够对海量资料进行管理的阅读管理系统,并且能够实现上传、下载、更新、检索等功能。其次,把新设计的管理系统与现有的管理方式进行比较,总结出有哪些优缺点,看看是否能真正提高管理效率。最后,对新设计的阅读管理系统进行测试。 预期目标为: (1)进行数据库表的设计,建立合理的文档数据库; (2)实现资料的在线上传,在线管理资料的信息; (3)实现实时下载和在线打开功能; (4)引进权限管理功能,使用者可以方便的设定或更改由高到低三级用户,三级用户具备新建分类,管理资料等一些更高管理权限,而一级用户只能浏览、下载和检索资料; (5)添加资料查找功能,既可以根据文档名查找,也可以通过资料各属性以及全文内容等进行高级查找; 1.4 本文结构 第1章,绪论。介绍了课题的研究背景、意义、国内外研究现状、发展特点和趋势,论文的组织结构。 第2章,需求分析。通过用例的方式对阅读管理系统进行需求分析,包括功能性需求分析和非功能性需求分析,进而得出阅读管理的用例模型。 第3章,系统设计。进行软件及架构设计,对软件进行分层和模块划分。将软件分为用户管理层、阅读管理层、资料浏览层。 第4章,系统实现。完成了用户管理模块、资料信息管理模块、资料浏览模块的具体功能的实现。 第5章,系统测试。针对阅读管理编写测试用例,进行测试,得到相关结果。 第6章,总结与展望。对工作做了简要的总结,并对后续工作提出了设想。 -3- 重庆理工大学毕业论文 第2章 需求分析 第2章 需求分析 2.1 系统需求总述 典型的文档、阅读管理系统应满足如下的基本需求: 能够处理大量的复合文档型的数据信息,一般认为,关系数据库对于非结构化数据的表示和存储存在一定的困难,而阅读管理系统中的信息载体大多是以不可修改的文档形式出现,因此阅读管理系统必须解决利用关系数据库存储复合文档信息的问题。 系统主要针对需要经常阅读大量资料的人员,如科研人员,教师、学者等,他们所涉及的领域通常要分类很细,所以需要阅读的资料数量是大量的,由于数量的问题,使得资料的分类就成为一个大问题,这就需要资料综合起来管理。 支持移动办公在日常的工作中,因为我们要在不同的地方进行资料的查看,而且随着网络技术的发展,学术研究打破了时间、地域的限制,使人们能够随时随地参与到学术研究、办公教学的过程中来,大大提高工作的效率和方便性。 保证文档机密能够使得工作和存储的文档更加的安全,避免因为文档的丢失、内容的泄漏等安全原因造成不可避免的损失。 资料检索功能对存储的文档进行多条件的模糊检索,包括标题检索,关键词检索,全文检索,所有者检索,时间检索等多种检索手段。 2.2 功能性需求分析 2.2.1 用户管理 用户管理所完成的功能为:对资料管理系统的用户进行管理。 用户包括了三种用户类别。即系统管理员(admin)、普通用户(user)和游客(visitor)。系统管理员是属于系统自带的用户,拥有最高权限。可以进行系统的各类权限分配和数据维护,主要给每一个用户统一分配相应的系统使用权限,并实时维护系统数据,但对于文档数据也可以操作,但不是其主要职责。 普通用户是专门对资料进行管理的角色,它是一种个人对自己资料进行管理的角色,可以创建目录,上传文档等基本功能。游客是一种以浏览为主的角色,不具 -4- 重庆理工大学毕业论文 第2章 需求分析 备对资料的管理操作,游客具有权限范围内的信息浏览和检索的权限。系统初始化时只有系统管理员,通过系统管理员来建立其他用户。系统管理员可以建立低于自己用户类别的用户。新建用户时输入用户的相关的属性信息,选择用户的类别,分配用户的角色,可以保存、删除、修改、注册新建的用户。 对于已经注册的用户,系统管理员可以修改低于自己用户类别的用户信息,可以删除,禁止低于自己用户类别的用户,恢复已禁用同类别的用户。当前用户可以更改自己的相关的用户信息。用户类别的高低为:系统管理员(admin)>普通用户(user)>游客(visitor)。系统管理员的类别是最高,它可以对用户进行管理,用户只能对自己进行管理。用户同时只能属于一种用户类别。一个用户不能同时是普通用户,系统管理员,游客中的两个。 如图2.1系统管理员管理活动图所示。 sd 系统管理员管理活动图 ActivityInitial 进入页面 用户管理登录日志管理资料管理检索公告管理 查看用户查看日志删除日志查看/删除资料下载资料推荐资料发布公告修改/删除公告删除用户 ActivityFinal 图2.1系统管理员管理活动图 对于系统管理员的需求分析,得到图2.2的系统管理员用例图。 -5- 重庆理工大学毕业论文 第2章 需求分析 uc 系统管理员用例 查看/删除用户 ?include?用户管理 查看/删除日志 ?include?登录日志管理 查看/删除资料系统管理员 ?include? 资料管理下载资料?include? ?include? 推荐阅读 检索 发布公告 ?include?公告管理 ?include?修改/删除公告 图2.2系统管理员用例 系统管理员用例可分为几个子用例,下面对其进行一一描述。 系统管理员可以对本系统的用户进行管理,如查看系统的注册用户的信息,并 且拥有用户账户进行操作的权限。系统管理员如若发现用户的言论等违规可以删除 用户。如图2.3是用户管理用例图。 uc 系统管理员用例 查看/删除用户用户管理?include? 系统管理员 图2.3用户管理用例 用户管理用例描述如表2.1所示。 -6- 重庆理工大学毕业论文 第2章 需求分析 表2.1 用户管理用例描述 用例名称 用户管理 用例编号 1001 活动者 系统管理员 目的 系统管理员对系统的用户进行查看和删除操作 描述 管理员点击进入用户管理模块,可以查看系统用户情况并且可 以删除用户等管理操作。 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 点击导航栏下的用户管理模块 从数据库提取数据,然后显 示到页面下;如点击删除操 作,即删除数据库里的用户 数据,然后反馈到页面。 特殊情况 无 系统管理员可以对本系统的用户的登录进行记录并管理,管理员可以查看系统用户的登录信息,并且拥有对登录日志进行操作的权限。系统管理员可以删除登录日志。如图2.4是登录日志管理用例图。 uc 系统管理员用例 查看/删除日志 ?include?登录日志管理 系统管理员 图2.4 登录日志用例 登录日志管理用例描述如表2.2所示。 表2.2 登录日志管理用例描述 用例名称 登录日志管理 用例编号 1002 活动者 系统管理员 目的 系统管理员对用户的登录日志进行查看和删除操作 描述 管理员点击进入登录日志管理模块,可以查看用户登录日志的 情况并且可以删除相关信息。 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 -7- 重庆理工大学毕业论文 第2章 需求分析 点击导航栏下的登录日志管理从数据库提取数据,然后显 模块 示到页面下;如点击删除操 作,即删除数据库里的登录 日志数据,然后反馈到页面。 特殊情况 无 系统管理员可以对本系统的用户上传的资料进行管理,管理员可以查看用户所有的上传资料,并且拥有对资料进行操作的权限。系统管理员可以删除某个资料,不管此资料是否被用户本人分享。管理员也可以在线打开用户上传的资料或者下载资料到本地。系统管理员还拥有推荐资料到首页的权限。如图2.5是资料管理用例图。 uc 系统管理员用例 查看/删除资料 ?include? 资料管理下载资料?include? 系统管理员?include? 推荐阅读 图2.5 资料管理用例 资料管理用例描述如表2.3所示。 表2.3 资料管理用例描述 用例名称 资料管理 用例编号 1003 活动者 系统管理员 目的 系统管理员对用户上传的资料进行查看、删除、推荐阅读、下 载等操作 描述 管理员点击进入资料管理模块,可以查看用户上传的资料的情 况并且可以进行相关操作。 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 点击导航栏下的资料管理模块 从数据库提取数据,然后显 示到页面下;如点击删除、 推荐等操作,即执行并更新 数据库的数据,然后反馈到 页面。 特殊情况 无 -8- 重庆理工大学毕业论文 第2章 需求分析 系统管理员可以在系统的首页发布公告。系统管理员可以发布公告,然后显示到首页及指定位置,其它用户可以看到。同时可以对公告进行修改或删除操作。如图2.6是公告管理用例图。 uc 系统管理员用例 发布公告 ?include?公告管理系统管理员 图2.6 公告管理用例 公告管理用例描述如表2.4所示。 表2.4 公告管理用例描述 用例名称 公告管理 用例编号 1004 活动者 系统管理员 目的 系统管理员发布公告,用户可以看到公告内容 描述 管理员点击进入公告管理模块,然后可以发布、修改、删除公 告内容 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 点击导航栏下的公告管理模块 从数据库提取数据,然后显 示到页面下;如点击删除、 修改等操作,即执行并更新 数据库的数据,然后反馈到 页面。 特殊情况 无 2.2.2 阅读管理 阅读管理所完成的功能为普通用户对资料信息的管理。 主要包括:资料分类的管理、资料信息和阅读心得的管理。资料分类的管理包括添加资料分类,修改资料分类和删除资料分类等基本功能。资料管理则包括上传新资料并填写其题目、分类详细信息,修改已上传的资料详细信息,删除已上传的资料信息和其已上传的文件,还可以下载资料到本地,以及对资料的权限进行管理 -9- 重庆理工大学毕业论文 第2章 需求分析 等功能。添加资料信息的同时还要上传的资料所存放的目录,将目录的文件名和路径存到资料信息中,保存到数据存。修改和删除时除了操作数据库中资料的信息外还要修改或删除对应的目录。用户的资料可以有选择的进行分享,如果是比较私有的或不想给其它用户看的就可以选择私有,不对其它用户公开,相反的也可以分享自己上传的资料并与其它用户进行交流。自己上传的资料都可以下载资料到本地,而没有分享的资料其它用户不能下载,同样的自己也只能下载到其它用户分享的资料。对自己上传的资料还可以编写阅读心得,以记录自己的阅读感受,理解程度,重要程度等,同时还可以操作阅读心得的权限问题,选择是否其它用户可见。 如图2.7阅读管理活动图所示。 sd 资料管理活动图 资料管理活动图 进入页面 分类管理资料管理阅读心得管理 添加分类修改分类 删除分类添加资料修改/删除资料下载资料分享资料编写心得修改/删除心得心得权限 ActivityFinal 图2.7资料管理活动图 对于阅读管理的需求分析,得到图2.8普通用户用例图。 -10- 重庆理工大学毕业论文 第2章 需求分析 uc 普通用户用例 添加分类 修改分类?include? ?include? 删除分类资料分类管理?include? 上传资料 ?include? 修改/删除资料资料管理?include?普通用户 ?include?下载资料 ?include? 分享资料 编写心得阅读心得管理?include? ?include?修改/删除心得 ?include? 心得权限 图2.8普通用户用例 普通用户用例可分为几个子用例,下面对其进行一一描述。 普通用户可以创建自己的分类目录,以便对资料进行分类管理。资料分类管理包括添加分类目录,添加后用户在对资料进行管理的时候就可以指定到某一分类目录下。用户也可以对分类目录进行修改、删除等操作。如图2.9是资料分类管理的用例图。 -11- 重庆理工大学毕业论文 第2章 需求分析 uc 普通用户用例 添加分类 ?include? 修改分类资料分类管理?include? 普通用户?include?删除分类 图2.9资料分类管理用例 资料分类管理用例描述如表2.5所示。 表2.5 资料分类管理用例描述 用例名称 资料分类管理 用例编号 2001 活动者 普通用户 目的 普通用户对自己的资料进行分类管理,添加、修改、删除分类 目录,以更好的管理资料 描述 普通用户点击资料分类管理,然后可以添加、修改、删除分类, 并且在下面统计目录下的资料情况 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 点击右边板块下的资料分类管从数据库提取数据,然后显 理 示到页面下;如点击添加、 修改、删除等操作,即执行 并更新数据库的数据,然后 反馈到页面。 特殊情况 无 普通用户可以对自己的资料进行管理。资料管理包括上传资料,上传的资料用户可以对资料进行一些操作。比如修改、删除资料,也可以直接下载资料到本地。用户的资料对于个人来说存在隐私问题,所以用户可以选择对自己上传的资料进行分享或私有的权限管理。如图2.10是资料管理的用例图。 -12- 重庆理工大学毕业论文 第2章 需求分析 uc 普通用户用例 上传资料 ?include? 修改/删除资料资料管理?include? ?include?普通用户下载资料 ?include? 分享资料 图2.10资料管理用例 资料管理用例描述如表2.6所示。 表2.6 资料管理用例描述 用例名称 资料管理 用例编号 2002 活动者 普通用户 目的 普通用户对自己的资料进行管理,上传、修改、删除、分享、 下载等相关资料管理 描述 普通用户点击资料管理,然后可以添加、修改、删除、分享、 下载等操作 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 点击右边板块下的资料管理 从数据库提取数据,然后显 示到页面下;如点击添加、 修改、删除等操作,即执行 并更新数据库的数据,然后 反馈到页面。 特殊情况 无 普通用户可以对自己上传的资料编写阅读心得。阅读心得管理包括编写阅读心得,修改删除心得。用户对资料的阅读心得对于个人来说存在隐私问题,所以用户可以选择对自己的资料的阅读心得进行分享或私有的权限管理。如图2.11是阅读心得管理的用例图。 -13- 重庆理工大学毕业论文 第2章 需求分析 uc 普通用户用例 编写心得阅读心得管理?include? ?include?普通用户修改/删除心得 ?include? 心得权限 图2.11阅读心得管理用例 阅读心得管理用例描述如表2.7所示。 表2.7 阅读心得管理用例描述 用例名称 阅读心得管理 用例编号 2003 活动者 普通用户 目的 普通用户对自己的资料编写阅读心得并且可以修改、删除、 设置权限等 描述 普通用户点击阅读心得管理,然后可以对阅读心得进行添加、 修改、删除、设置权限等操作 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 点击右边板块下的阅读心得管从数据库提取数据,然后显 理 示到页面下;如点击添加、 修改、删除等操作,即执行 并更新数据库的数据,然后 反馈到页面。 特殊情况 无 2.2.3 资料浏览 浏览所完成的功能为用户对资料信息的检索和浏览。 资料 用户可以浏览已上传编辑好的资料。首先可以跟据资料的题目、作者、内容、上传的时间等进行详细的检索。用户可以通过检索和查看最新上传、最近浏览等方式来查看资料列表,点击列表中的资料就可以查看资料的详细信息。然后浏览检索到的资料详细信息。最后提供在线浏览、评论、编写阅读心得、分享资料、生成参 -14- 重庆理工大学毕业论文 第2章 需求分析 考资料和下载等功能。并且对资料的相关信息进行统计显示,比如作者、上传者、上传时间、出版社、所属类型、阅读次数、下载次数等。 浏览资料的活动图如图2.12所示。 sd 浏览资料活动图 ActivityInitial 进入页面 检索资料最近浏览最近上传 查看资料 编写阅读心得在线阅读下载分享资料生成参考文献评论 ActivityFinal 图2.12浏览资料活动图 对于用户浏览资料的需求分析,得到图2.13资料浏览用例图。 -15- 重庆理工大学毕业论文 第2章 需求分析 uc 资料浏览用例 查看详细资料模块 在线阅读 编写阅读心得 评论 用户 下载资料 生成参考文献 分享资料 图2.13资料浏览用例 资料浏览用例可分为几个子用例,下面对其进行描述。 用户在浏览资料的时候可能会对资料有一定的见解或想跟其它用户进行交流的需求。用户可以在评论框内输入评论内容然后进行评论,接着其它用户可以看到相关评论内容,并可以进行回复操作。这样就形成了分享交流的需求。如图2.14为用户评论资料用例图。 uc 资料浏览用例 评论回复?extend? 用户 图2.14用户评论资料用例 用户评论资料用例描述如表2.8所示。 -16- 重庆理工大学毕业论文 第2章 需求分析 表2.8 用户评论资料用例描述 用例名称 用户评论资料用例 用例编号 3001 活动者 普通用户、游客 目的 用户通过资料名称点击进入资料查看页面,查看详细信息并进 行评论操作,同时可以对评论的内容进行回复 描述 用户点击资料名称查看详细信息,资料在线打开,然后可以对 资料进行评论交流,其它用户看到评论可以进行回复操作,从 而使资料的延伸价值提升 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 点击评论框输入评论内容 添加数据到数据库中,然后 从数据库提取数据显示到页 面下 特殊情况 无 用户在浏览资料的时候如果觉得很有参考价值,可以生成此资料的信息作为参考资料。生成一串参考资料引用的规范形式,然后可以通过复制在需要的地方直接 15为生使用。同时也有一些相关操作,包括生成参考资料和删除参考资料。如图2.成参考资料用例图。 uc 资料浏览用例 生成/删除参考文献生成参考文献?include? 用户 图2.15生成参考资料用例 生成参考资料用例描述如表2.9所示。 表2.9 生成参考资料用例描述 用例名称 生成参考资料 用例编号 3002 活动者 系统管理员、普通用户 目的 生成参考资料 描述 用户点击生成参考资料按钮即可生成参考资料 输入 无 输出 更新数据库信息 主事件流 活动者动作 系统响应 -17- 重庆理工大学毕业论文 第2章 需求分析 点击生成参考资料按钮 更新数据库的数据,然后反 馈到页面。 特殊情况 无 2.3 非功能需求分析 2.3.1 硬件环境 (1) 服务器端 服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务器的性能往往不尽如人意,现在的硬件性能已经相当出色,而且价格也很便宜,因此我们给服务器端配置高性能硬件。 本系统服务器端的可行配置如下: 处理器:Intel Pentium IV 1.6CHz或更高 512MB以上 内存: 硬盘空间: 60GB以上 显卡: GEFORCE显示适配器 (2) 用户端 因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面要求: 处理器:Intel Pentium 166MX或更高 内存: 32 MB 硬盘空间: 1GB以上 光驱: CD-ROM 48X 显卡: GEFORCE显示适配器 2.3.2 软件环境 软件环境为系统的运行提供了一个运行的虚拟支撑环境。下面是服务器/用户端的软件环境的需求。用户可以根据自身情况,进行相应的调整。 (1)服务器端 操作系统: Microsoft Windows XP -18- 重庆理工大学毕业论文 第2章 需求分析 网络协议: TCP/IP Web服务器: Tomcat 6.0等 数据库: MySQL 浏览器: Internet Explorer 6.0以上 (2)用户端 操作系统: Microsoft Windows XP或更高 网络协议: TCP/IP 浏览器: Internet Explorer 6.0以上 2.3.3 界面需求 (1)页面内容:主题突出,站点定义,术语和行文格式统一、规范、明确、栏目、菜单设置和布局合理、传递的信息准确、及时。内容丰富,文字准确,语句通顺,专用术语规范。 (2)导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。 (3)技术环境:页面大小适当,能用各种常用的浏览器以不同分辨率浏览,无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。 (4)艺术风格:界面、版面形象清新悦目、布局合理、字号大小适宜、字体选择合理,前后一致,美观大方,动与静搭配恰当,动态效果好,色彩和谐自然,与主题内容相协调。 2.3.4 响应时间需求 无论是客户端还是管理端,当用户登录,进行任何操作的时候,系统应该及时地进行反应,反应的时间在3秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,以避免出现长时间等待甚至无响应。 2.3.5 经济可行性 由于本系统是为阅读管理使用的系统,登陆网站,即可使用系统,系统成本主要集中在系统软件的开发上,本系统是在教室或科研人员在电脑上在线操作的系统,所以只需一台电脑就行了没有其他经济支出,所以在经济上是可行的。 2.3.6 操作可行性 -19- 重庆理工大学毕业论文 第2章 需求分析 本系统是运行在windows XP以及以上版本的操作系统上,对于我们平时使用的普通计算机(台式或者笔记本)的配置来说是完全可以的。同时本系统界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠,统计准确,制表灵活,适应力强,容易扩充。由此,在操作上是可行的。 2.3.7 法律可行性 本系统是在指导老师的指导下由个人独立完成的,不存在抄袭他人的工作成果的情况。并且,本系统由个人使用,不属于盈利性系统。因此,开发本系统不会违反国家的相关的法律法规。由此可知,该系统的开发在法律上是可行的。 2.3.8 系统安全性需求 系统有严格的权限管理功能,各功能模块需要有相应的权限才能进入。系统需要能够防止各种类型的误操作可能造成的数据丢失、破坏。防止用户非法获取网页。 2.4 本章小结 本章通过用例的方式对阅读管理系统进行需求分析,包括功能性需求分析和非功能性需求分析,为之后的系统设计与系统实现提供了坚实的基础。 -20- 重庆理工大学毕业论文 第3章 系统设计 第3章 系统设计 3.1 概要设计 3.1.1 体系结构的设计 现有的系统体系结构可以是C/S或B/S两种形式。但从业务需求的角度来说,建立B/S结构的文档管理系统更加符合系统的需求。B/S结构有三层的模式,即客户端,中间逻辑层,数据库层。这种结构具有以下的优点: 容易维护。不需要安装单独的客户端应用程序,只需要一个浏览器即可,对客户机所采用的平台无限制,管理及维护工作全部在服务器端进行,增加客户端的应用系统的管理、维护工作量基本不变。另外,统一的、抽象的用户界面使用户更有效地从统一数据源中存取数据,也便于数据库的管理和维护。 可扩展性好。系统对中间逻辑层的逻辑事务的增加、修改、删除可灵活地改变,扩展系统的功能容易在运行时自动升级。 可重用性好。当多个页面需要进行相同的事务处理时,只需调用相应的事务处理组件即可。 3.1.2 系统层次结构 B/S三层结构如图3.1所示。 所谓三层体系结构,就是在客户端与数据库之间加入了一个中间层,也叫组件层。使用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。 三层结构包含:表示层(USL),业务逻辑层(BLL),数据访问层(DAL) (1) 表现层,它是处理用户交换信息,调用逻辑业务层的方法,使用换取数据。 (2) 逻辑业务层,它是接收视图层的调用,把视图层的参数作处理,调用底层的 对象方法(如SQL语句)。 (3) 数据访问层,它是接受逻辑业务层的调用,执行SQL语句,返回结果。 视图层调用逻辑业务层,逻辑业务层调用底层。 -21- 重庆理工大学毕业论文 第3章 系统设计 表现层 业务逻辑层 数据访问层 数据库 图3.1系统层次划分 如图3.2体系结构的设计所示。 (1)web层和页面逻辑 这一个部分主要是管理Web页面的显示,页面的数据获取,数据显示格式和位置,以及对一些用户输入信息的前几层验证。页面的生成显示和一些页面逻辑的处理,以JSP为主。还使用JavaScript进行一些页面数据的验证控制,以及进行页面布局的各个的显示控制和一些复杂的UI显示。 (2)底层逻辑和数据访问层 这一个层次部分主要是用于管理系统的远程的分布式实现,系统的底层的逻辑,数据的底层获取和判断,数据库的关系对象的映射,和数据库的存取。数据访问层执行从数据库(或其他数据服务)获取数据或向数据库发送数据的功能。在分布式应用程序结构中,相应功能使用JDBC数据接口和SQL服务器存储过程来完成。 底层逻辑 ,,,层 数据访问层 数据存储 页面逻辑 文件系统 数据库 图3.2体系结构的设计 -22- 重庆理工大学毕业论文 第3章 系统设计 3.2 详细设计 3.2.1 系统功能模块图 本系统的系统功能模块如图3.3所示。分为用户管理、阅读管理和资料浏览三个大模块。每个模块下有若干子模块。系统以各个模块为单位进行设计。 系统整体 用户管理资料管理资料浏览 验添修添修修检读查查发推证加改分加改上改索取看看布荐用删用享删分传删资资最最公阅户除户资除类资除料料近近 信用信分信资信信浏上告读料料 息户息类息料息息览传 用 登户下在 录权载线 验限资阅 验证料读 证 编生 写成 评阅参 读考论 心文 得献 图3.3 系统的功能模块 3.2.2 系统主要类的设计 -23- 重庆理工大学毕业论文 第3章 系统设计 类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。一般包含3个组成部分。第一个是类名;第二个是属性(attributes);第三个是该类提供的方法(类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。 根据需求分析得出系统的主要类架构图如图3.4所示: class 系统类图 adminwdmladminlog- username: char- nameF: char- logintime: datetime- password: char- intro: char- Loginip: char- creattime: datetime- others: char*..1- useros: char- flag: int*..1- time: datetime- ok: char- isuse: int- username: byte- logintimes: char+ addAdminlog() : boolean- quanxian: char+ addWdml() : boolean+ getAdminlog()+ getWdml()+ addAdmin() : boolean+ updateWdml() : boolean+ getAdmin()+ updateAdmin() : boolean 1..* understandwd - typeId: int- name: char- sho: int- typeId: int- undersl: char- url: char1..1- underst: char- intro: char- unders: char- author: char- date: datetime- time: datetime- downloadT: int+ addUnderstand() : boolean- organization: char+ getUnderstand()- language: char+ updateUnderstand() : boolean- others: char- username: char- sho: int- recom: int1..* + addWd() : booleancommentrecomment+ getWd()+ updateWd() : boolean- nameC: char- recomment: char- username: char- reId: int1..*- comment: char1..*- date: datetime- nextId: int- date: datetime+ addReComment() : void+ getReComment() : void+ addComment() : booleanreadlog+ getComment()- nameId: int- readT: int- username: char- readTime: datetime + addReadlog() : void+ getReadlog() : void 图3.4 系统类图 3.2.3 用户管理 -24- 重庆理工大学毕业论文 第3章 系统设计 用户管理主要完成用户的增加,修改,删除等操作。在Web层中,给出了新建用户信息,修改用户信息,用户列表等界面显示实现代码。在业务逻辑中,定义了用户类的各种方法,在数据访问层,定义了和数据库进行用户信息存取的各种方法。这里,给出增加新用户的序列图,如图3.5所示。 sd 新增用户序列图 WEB层业务逻辑层数据访问层 LoginUserModelsAdminServlet新增用户序列图 Login_click() Check_Userdate() IsUserExist() Button_Register_click() InsertUser() InsertUserDate() Bool_return() 图3.5新增用户序列图 对于用户登录的过程,可以用图3.6登录序列图来表示。首先显示用户登录页面,在输入了用户名和密码之后,点击登录按钮,会调用身份验证web服务中IsExistedUser()方法,判断用户用户名输入的用户名和密码是否是合法的。身份验证web服务会首先调用业务逻辑层的IsUserNameExist()方法,判断用户名是否存在,再获得此用户名对应的数据库中存储的密码,通过调用业务逻辑层的MD5Password()方法,得到输入的密码的MD5加密密码,再和数据库中的密码进行比较,如果密码正确,则返回真值,否则返回假值。之后再把登录信息记录在数据库中。 -25- 重庆理工大学毕业论文 第3章 系统设计 sd 登录时序图 WEB层业务逻辑层数据访问层 AddAdminServletAdminBeanUserDate submit() Check_userDate() IsUserExist() MD5Password() IsUserExist() IsUserNameExist() Bool_return() IsMD5PasswordExist() Bool_return() InsertLoginRecord() Bool_return() 图3.6登录序列图 3.2.4 阅读管理 上传一篇资料的序列图如图3.7所示。 在Web层,先通过AddDoc()方法把资料基本信息传给业务逻辑层,再由业务逻辑层的InsertDocDate()方法把信息传给数据访问层,数据访问层把操作信息存入数据库。如果存入成功再调用业务逻辑层的SaveFile()方法将资料所存的文档上传存储在服务器所对应的文件夹下。都成功之后才返回资料上传成功。 -26- 重庆理工大学毕业论文 第3章 系统设计 sd 上传资料序列图 WEB层业务逻辑层数据访问层 DocDetailComServletSmartUploadComBeanUserDate Submit() Check_DocDate() AddDoc() AddDoc() InsertDocDate() Bool_return() SaveFile() Bool_return() 图3.7上传一篇资料序列图 3.2.5 资料浏览 浏览一篇文档,如序列图3.8所示。 首先通过调用资料访问Web服务,得到了已发布资料列表,当选择一篇文档浏览时,通过业务逻辑层的GetPermissionValue(),得到了用户的访问权限,再显示文档浏览页面,如果用户拥有修改和删除的权限,才显示相应功能。若要下载则通过调用业务逻辑层的DownloadDoc()方法,若要在线打开,则通过调用业务逻辑层的DocConverter()方法,将文档转为SWF格式,实现在线打开。 -27- 重庆理工大学毕业论文 第3章 系统设计 sd 浏览资料序列图 WEB层业务逻辑层数据访问层 DocDetailSmartUploadDocConverterComBeanUserDate GetPermissionValue() GetUserDate() PermissionValue() GetDocDate() GetDocDate() :List DocDate SetDownloadTime() SetDownloadTime() :Bool return Download(URL) response.getOutputSteam() ToSWF(URL) :Bool return 图3.8浏览资料序列图 -28- 重庆理工大学毕业论文 第3章 系统设计 3.3 数据库设计 3.3.1 概念设计 对用户要求描述的现实世界,通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。 概念模型是对真实世界的描述,能够十分真实的反映现实世界,以及它们之间的联系,也能够满足人们对数据处理。概念模型在数据库设计阶段是非常关键的。而用于描述的概念模型常用E-R模型,E-R模型由实体、属性、联系三者组成。根据需求分析和系统的主要功能得出如图3.9系统主要功能E-R图。 地址作者所属目录id备注创建时间创建用户 标题出版社简介 卷、期n属于文档1目录名目录 关键字 1权限 1nn属于内容简介阅读心得 1理解 程度 阅读属于阅读心得上传管理次数 权限 n所属文档 编写1n1 登录用户登录时间1 登录ip评论标题 n管理回复登录日志11n用户评论评论用户登录os 评论内容是否成功用户名密码权限评论用户评论时间 图3.9系统主要功能E-R图 -29- 重庆理工大学毕业论文 第3章 系统设计 3.3.2 逻辑结构设计 数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R 图转换为与选用的 DBMS产品所支持的数据模型相符合的逻辑结构。逻辑结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如MySQL)。图3.10描述了本系统的逻辑结构设计。 adminadminlogidIntegerusernameCharacters (20)usernameCharacters (20)passwordCharacters (50)logintimeDate & TimeProducecreattimeDate & TimeLoginipCharacters (50)flagIntegeruserosCharacters (50)isuseIntegerokCharacters (20)logintimesCharacters (11)Identifier_1quanxianCharacters (11)...Identifier_1...set_up upload wd nameCharacters (256)wdmltypeIdIntegernameFCharacters (30)urlCharacters (100)introCharacters (256)authorCharacters (50)othersCharacters (50)belongtimeDate & TimetimeDate & TimedownloadTIntegerusernameCharacters (20)organizationCharacters (50)typeIdIntegerlanguageCharacters (50)othersCharacters (50)Identifier_1...usernameCharacters (20)shoIntegerrecomInteger Identifier_1comment... write commentunderstandnameCCharacters (256)typeIdIntegerusernameCharacters (20)shoIntegercommentCharacters (256)underslCharacters (10)nextIdIntegerunderstCharacters (10)dateDate & TimeundersCharacters (256)Identifier_1dateDate & Time...Identifier_1 ... 图3.10系统的逻辑结构设计 3.3.3 物理结构设计 数据库物理设计是后半段,将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方 -30- 重庆理工大学毕业论文 第3章 系统设计 法,这个过程就是数据库的物理设计。数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,选择一个优化方案作为数据库物理结构。在数据库物理设计中,最有效的方式是集中地存储和检索对象。 物理数据模型(Physical Data Model)PDM,提供了系统初始设计所需要的基础元素,以及相关元素之间的关系;数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据库的存储过程、操作、触发、视图和索引表等。图3.11描述了本系统的物理数据模型。 adminadminlogidintusernamechar(20)usernamechar(20)logintimedatetimepasswordchar(50)Loginipchar(50)creattimedatetimeuseroschar(50)flagintokchar(20)isuseintidintlogintimeschar(11)...quanxianchar(11)... wd namechar(256)wdmlnameFchar(30)idintnameFchar(30)typeIdintidinturlchar(100)introchar(256)authorchar(50)otherschar(50)timedatetimetimedatetimedownloadTintusernamechar(20)organizationchar(50)typeIdintlanguagechar(50)...otherschar(50)usernamechar(20)shointrecomint... commentunderstandnameCchar(256)typeIdintnamechar(256)shointusernamechar(20)underslchar(10)commentchar(256)understchar(10)nextIdintunderschar(256)datedatetimenamechar(256)...datedatetime图3.11 系统的物理结构设计 ... 3.3.4 数据库表设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据, -31- 重庆理工大学毕业论文 第3章 系统设计 满足各种用户的应用需求,包括信息管理要求和数据操作要求。 本节主要针对各模块功能设计数据库操作。 表3.1给出数据库中的用户表的组成以及说明。 表3.1 数据库用户表 字段 数据类型 说明 id int 用户ID,主键,非空 username varchar(50) 用户登陆名称,非空 password varchar(50) 用户登陆密码,非空 Creattime datetime 用户创建时间,非空 flag int 用户名是否存在,非空 isuse int 用户是否在用,非空 logintimes int 用户登录次数,非空 quanxian varchar 用户权限,非空 用户表说明: (1)用户ID是唯一的,作为主键。 (2)每个用户都必须有自己的用户名和密码,还有权限。权限决定了一个用户进 入系统后所能操作的项目。 表3.2 用户登录记录表 字段 数据类型 说明 id int 记录ID,主键,非空 username varchar(20) 用户登陆名称,非空 password varchar(20) 用户登陆密码,非空 logintime datetime 用户登录时间,非空 Loginip varchar(50) 用户登录IP,非空 useros varchar(50) 用户操作系统,非空 ok Varchar(10) 是否登录成功,非空 用户登录记录表说明:记录每次登录所使用的用户名密码IP,是否登录成功 等,以提供给系统管理员查看登录情况。 表3.3 资料分类表 字段 数据类型 说明 -32- 重庆理工大学毕业论文 第3章 系统设计 id int 分类ID,主键,非空 name varchar(50) 分类名称,非空 intro varchar(100) 分类介绍,非空 others varchar(Max) 备注,可空 time datetime 分类创建时间,非空 username Varchar(20) 创建分类的用户,非空 资料分类表说明:ID作为分类表的主键,每个分类要有名称,介绍和创建时 间。 表3.4 资料信息表 字段 数据类型 说明 id int 资料ID,主键,非空 name varchar(50) 资料题目,非空 typeId int 资料分类ID,非空 url varchar(50) 资料存储地址,非空 intro datetime 资料简介,可空 author varchar(50) 资料作者,非空 time datetime 资料发表时间,非空 downloadT int 下载次数,非空 organization varchar(100) 资料出处机构,非空 language varchar(20) 资料语言,非空 others varchar(100) 资料卷、期等信息,非空 username varchar(20) 上传资料的用户,非空 sho int 资料是否分享,非空 recom int 资料是否被推荐,非空 资料信息表说明:资料ID是主键。每个资料都要有题目、类型ID、所存储的路 径名、作者、发表时间、下载次数等详细信息。类型ID对应类型表中的资料类型。 URL中存储的是资料所对应的文档的文件名与路径。 表3.5 资料评论信息表 字段 数据类型 说明 id int 记录ID,主键,非空 -33- 重庆理工大学毕业论文 第3章 系统设计 name varchar(50) 资料名称,非空 username varchar(20) 评论资料的用户,非空 comment varchar(Max) 评论内容,非空 nextId int 回复评论的ID,非空 date datetime 评论时间,非空 资料评论信息表说明:记录中的id为评论的id,是主键,非空;name对应资料表中的资料名称;用户每次评论资料都会生成记录和时间。 表3.6 资料阅读心得信息表 字段 数据类型 说明 id int 记录ID,主键,非空 typeId int 资料类型名称,非空 sho int 资料的阅读心得是否可见,非空 undersl varchar(10) 理解程度,非空 underst varchar(10) 重要程度,非空 unders Varchar(Max) 心得内容,非空 date datetime 阅读心得编写时间,非空 资料阅读心得信息表说明:记录中的id为评论的id,是主键,非空;typeId对应资料分类表中的ID;sho对应用户对阅读心得选择是否可见;然后分别为资料理解程度、重要程度、心得内容和编写时间。 表3.7最近阅读信息表 字段 数据类型 说明 id int 记录ID,主键,非空 nameId int 资料信息表的ID,非空 readT int 资料的阅读次数,非空 username varchar(20) 阅读资料的用户,非空 readTime datetime 阅读时间,非空 最近阅读信息表说明:记录中的id为评论的id,是主键,非空;nameId对应资料表中的资料ID;此表记录了用户的阅读时间和阅读次数。 -34- 重庆理工大学毕业论文 第3章 系统设计 3.4 本章小结 本章对系统进行总体和详细的设计,包括软件及架构设计,对软件进行分层和模块划分。将软件分为用户管理、阅读管理和资料浏览三个模块,为以后的功能的实现提供了便利。 -35- 重庆理工大学毕业论文 第4章 系统实现 第4章 系统实现 4.1 模块功能的具体实现 4.1.1 用户管理模块 首先是登录,如图4.0,点击提交后将数据传给AdminServlet,AdminServlet通过MD5.MD5()方法将密码进行MD5加密,再调用AdminBean中的Login()方法与数据库中的用户数据进行比对,返回结果,完成登录。登录成功后进入主JSP页面,JSP页面向数据库发送请求获取用户权限,存入session,再跟据权限显示用户功能。 图4.0 用户登录界面 图4.1和图4.2是不同权限的用户所能使用的功能是不一样的。 如图4.1,系统用户(管理员)可以进行用户管理。包括对用户的管理,如删除用户操作对应AdminServlet调用AdminBean的delUser()方法修改数据中对应的Admin表。 -36- 重庆理工大学毕业论文 第4章 系统实现 图4.1管理员用户 然而,普通用户就只能对自己相关的资料进行管理。比如分类管理,添加修改删除资料等等,如图4.2。 图4.2普通用户 4.1.2 阅读管理模块 (1)资料分类管理。如图4.3,有添加分类,删除和修改分类功能。首先将数据传给ComServlet,在ComServlet中分别调用ComBean的add(),update(),delete()方法 -37- 重庆理工大学毕业论文 第4章 系统实现 修改数据库中对应的分类表。 图4.3分类管理 (2)资料信息管理。主要包括资料的上传,修改和删除功能。资料上传如图4.4,填好资料信息和要上传的资料文件后提交,Form中的信息和文件转成的Inputstream以request传给UpServlet。UpServlet首先判定Method为addDoc,调用Combean的addDoc()方法将资料信息添加到数据库中对应的文档表。 图4.4上传资料 upServlet添加资料信息核心代码如下。 … -38- 重庆理工大学毕业论文 第4章 系统实现 ComBean cb=new ComBean(); SmartUpload mySmartUpload = new SmartUpload(); mySmartUpload.initialize(config,request,response); mySmartUpload.upload(); //将文件流转为Byte数组 method = mySmartUpload.getRequest().getParameter("method").trim(); if(method.equals("addDoc")){ //增加 String name=mySmartUpload.getRequest().getParameter("name"); int typeId=Integer.parseInt(mySmartUpload.getRequest().getParameter("typeId")); String intro=mySmartUpload.getRequest().getParameter("intro"); … SmartFile file = mySmartUpload.getFiles().getFile(0); String fileExt=file.getFileExt(); fileExt=fileExt.toLowerCase(); //获得文件类型并全部转为小写 String path="/pic"; //文件保存路径 String url= path+"/"+file.getFileName(); cb.addDoc(name,typeId,url,intro,author,date2,temp,organization,language,others,id); //将资料信息增加到数据库 mySmartUpload.save(path); //将文件保存在相应文件夹下。 … 信息添加成功后UpServlet初始化SmartUpload对象,调用SmartUpload的uploa d()方法将request中保存的文件的Inputstream转成Byte数组m_binArray,再将文件 信息保存到对象File中,然后调用save()方法将File的Byte数组m_binArray转为O utputstream保存在服务器指定位置。 Upload()方法的主要代码如下。 … m_totalBytes = m_request.getContentLength(); System.out.print(m_request); m_binArray = new byte[m_totalBytes]; int j; for (; i < m_totalBytes; i += j) { m_request.getInputStream(); j = m_request.getInputStream().read(m_binArray, i, m_totalBytes - i); //Inputstream转成Byte数组 } Save()方法的主要代码如下。 java.io.File file = new java.io.File(path); FileOutputStream fileoutputstream = new FileOutputStream(file); fileoutputstream.write(m_parent.m_binArray,m_startData,m_size); //Byte数组转为Outputstream fileoutputstream.close(); (3)修改删除分享资料。如图4.5。修改资料信息时先判断upload()方法后file对 象是否为空,若为空则直接执行修改资料信息即可;若不为空则先调用file中的dele -39- 重庆理工大学毕业论文 第4章 系统实现 te()方法将原文件删除,再重新上传。 图4.5管理资料信息 upServlet修改资料核心代码如下 ComBean cb; if(!file.equals("")) //修改已上传文件 { if(!fileExt.equals("doc")&&!fileExt.equals("docx")&&!fileExt.equals("pdf")&&!fileExt.equals("tx t")){ //判断文件类型 request.setAttribute("message", "请选择正确的文件类型~"); … }else{ File file1 = new File(realPath); file1.delete(); //删除已有文件 String path="/pic"; count = mySmartUpload.save(path); //上传新文件 url = path+"/"+file2.getFileName(); cb.upDate(name,typeId,url,intro,author,date2,temp,organization,language,others,id); } } else{ //不修改已上传文件 cb.upDate(name,typeId,url,intro,author,date2,temp,organization,language,others,id); //直接修改信息 (4)编写阅读心得。如图4.6。可以对没有编写过阅读心得的资料编写个人的阅读心得,并且可以选择心得的权限,如公开或私有。同时可以填写自己对资料的阅读理解程度和阅读次数。 -40- 重庆理工大学毕业论文 第4章 系统实现 图4.6 编写阅读心得 (5)按最近阅读,阅读次数,理解程度等统计。如图4.7。阅读过程中会产生很多阅读信息,比如最近阅读、阅读次数等。按照最近阅读统计出来可以看到用户最近的阅读内容,然后方便继续之前未完成的阅读。同时,阅读的时候用户会对内容有一个大概的认识,这时可以编写理解程度等,以方便用户对自己阅读过的内容进行统一管理。 图4.7 按最近阅读统计 4.1.3 资料浏览模块 资料浏览有多种途径:比如,首页的最新动态,推荐阅读,我的资料,检索等。 通过首页最新动态和推荐阅读浏览,如图4.2,把用户最新上传共享的资料以时 -41- 重庆理工大学毕业论文 第4章 系统实现 间顺序列出。 资料检索如图4.8。可以添加多个条件对资料的各属性甚至资料所存文件的内容进行搜索(如按作者等)。在提交Form表单时,所有的搜索条件都叫Name,搜索关键字叫Key,在搜索结果页面中用request.getParameterValues("key")方法将Name和Key以数组形式获得,再调用DocDao中的search()方法解析数组。 图4.8检索资料 Search()方法主要代码。 int typeId=Integer.parseInt(request.getParameter("typeId")); String temp = "select * from wd where "; if(request.getParameterValues("key")!=null && request.getParameterValues("type")!=null){ String[] types=request.getParameterValues("type"); //解析数组 String[] keys=request.getParameterValues("key"); for(int i=0;i= 0 && c <= 255) { sb.append(c); } else { -47- 重庆理工大学毕业论文 第4章 系统实现 byte[] b; try { b = Character.toString(c).getBytes("utf-8"); //进行UTF-8编码 } catch (Exception ex) { System.out.println(ex); b = new byte[0]; } for (int j = 0; j < b.length; j++) { int k = b[j]; if (k < 0) k += 256; sb.append("%" + Integer.toHexString(k). toUpperCase()); } } } return sb.toString(); } 这段代码将文件名中的中文进行UTF-8编码,实现了下载的文件中文文件名正确的显示。 4.3 本章小结 本章完成了用户管理模块、资料信息管理模块、资料浏览模块的具体功能的实现,解决了实现过程中遇到的一些技术难题,实现了阅读管理系统的基本功能。但进一步的完善还需要经过测试。 -48- 重庆理工大学毕业论文 第5章 系统测试 第5章 系统测试 对于软件无论采用什么技术和方法,软件中仍然会有错误。而测试是保证软件质量的重要内容,本章重点对系统进行了功能性测试,证明系统符合用户需求且能够正常运行,同时也对非功能性特征(如用户界面、性能等)进行相应的测试。 5.1 功能性测试 5.1.1 系统登录模块 系统登录模块重点测试的是测试用户身份验证机制是否完善,以确保系统的安全。 测试用例及结果如表5.1所示。 表5.1 系统登录模块测试用例及结果表 编号 输入用户名 输入密码 预期结果 实际结果 提示用户名和密码不能为提示用户名和密码不能(空值) (空值) 1 空 为空 (空值) 提示用户名不能为空 提示用户名不能为空 2 123 (空值) 提示密码不能为空 提示密码不能为空 3 a 提示用户名不存在或密码提示用户名不存在或密4 a 321 错误,记入登录日志 码错误,记入登录日志 通过验证,进入系统,记入通过验证,进入系统,5 adminn adminn 登录日志 记入登录日志 5.1.2 用户管理模块 登录权限实现的测试 登录权限实现的测试是为了保证管理员的权限和限制游客的权限。使用三种不同权限的用户得到的功能界面应该是不同的。系统用户(管理员)可以操作全部的功能,普通用户只能管理资料和浏览资料,不能管理用户,游客只能浏览资料。测试用例和结果如表5.2所示。 表5.2 登录权限实现的测试用例及结果表 编号 用户权限 预期结果 实际结果 游客 只显示资料浏览模块功能 只显示资料浏览模块功能 1 -49- 重庆理工大学毕业论文 第5章 系统测试 显示除了用户管理模块外全部功显示除了用户管理模块外全部普通用户 2 能 功能 管理员 显示全部功能 显示全部功能 3 添加新用户测试。测试系统管理员能否正确添加新的用户。用户名不能与已有用户名重复,密码长度应在5-15个字符。 测试用例和结果如表5.3所示. 表5.3 登录权限实现的测试用例及结果表 编号 输入用户名 输入密码 预期结果 实际结果 提示用户名和密码不能提示用户名和密码不能(空值) (空值) 1 为空。 为空。 (空值) 提示用户名不能为空。 提示用户名不能为空。 2 123 (空值) 提示密码不能为空。 提示密码不能为空。 3 a 提示用户名已存在 提示用户名已存在 5 adminn Adminn 提示密码长度不符合要提示密码长度不符合要5 adminn 123 求 求 提示添加用户成功 提示添加用户成功 6 aaaaaa 123456 5.1.3 阅读管理模块 测试前提:建立资料分类表、资料信息表;建立过程AddDocType(添加资料分类)、DelDocType(删除资料分类)、AddDoc(添加资料)、DelDoc(删除资料)、UpdateDoc(修改资料)等。 测试用例及结果如表5.4和表5.5所示。 表5.4 分类管理测试用例及结果表 编号 测试方法 预期结果 实际结果 在添加资料分类页面不提示分类信息必须填写 提示分类信息必须填写 1 写分类信息,点击提交键 在添加资料分类页面填提示添加分类成功,跳回分类提示添加分类成功,跳回分类2 写分类信息,点击提交键 列表页面 列表页面 在分类列表页面点击删提示确认删除,点击确认提示提示确认删除,点击确认提示3 除键 删除成功,跳回分类列表页面 删除成功,跳回分类列表页面 在分类列表页面点击修 改,填写分类信息,点击提示修改成功,返回分类列表 提示修改成功,返回分类列表 4 提交键 表5.5 资料管理测试用例及结果表 编号 测试方法 预期结果 实际结果 在添加资料页面,不填写提示请填写带*号的信息 提示请填写带*号的信息 5 *号选项,点击提交 -50- 重庆理工大学毕业论文 第5章 系统测试 在添加资料页面,上传的 资料文件类型选择允许提示请选择doc,docx,pdf,提示请选择doc,docx,pdf,6 类型之外的文件,点击提txt四种文件类型 txt四种文件类型 交 在添加资料页面,上传的提示添加成功,跳转资料列表提示添加成功,跳转资料列表 资料文件类型为doc,信页面。服务器对应文件夹下有页面。服务器对应文件夹下有7 息填写完整,点击提交 上传的文件 上传的文件 在修改资料信息页面,不提示请填写带*号的信息 提示请填写带*号的信息 8 填写*号选项,点击提交 在修改资料信息页面,不提示添加成功,跳转资料列表提示添加成功,跳转资料列表 填要上传的文件,点击提页面。服务器对应文件夹下的页面。服务器对应文件夹下的9 交 文件不变 文件不变 在修改资料信息页面,选提示添加成功,跳转资料列表提示添加成功,跳转资料列表 择规定的文件类型,点击页面。服务器对应文件夹下的页面。服务器对应文件夹下的10 提交 文件改变 文件改变 提示确认删除,点击确认提示提示确认删除,点击确认提示 在资料列表页面下点击删除成功,跳回分类列表页删除成功,跳回分类列表页11 删除键 面。服务器对应文件夹下的文面。服务器对应文件夹下的文 件删除 件删除 5.1.4 资料浏览模块 测试前提:建立资料分类表、资料信息表;建立过程SearchDoc(检索资料)、Download(下载资料)、OpenOnline(在线打开资料)等。 测试用例及结果如表5.6所示。 表5.6 资料浏览测试用例及结果表 编号 测试方法 预期结果 实际结果 在资料检索页面下添加 检索条件,但不写检索提示请填写检索关键字 提示请填写检索关键字 1 内容,点击提交键 在资料检索页面下添加 检索条件,其中有重复提示请勿添加重复条件 提示请勿添加重复条件 2 条件,点击提交键 在资料检索页面下添加显示检索结果页面,结果符合显示检索结果页面,结果符合检索条件,正确填写检3 检索条件 检索条件 索内容,点击提交键 续表5.6 资料浏览测试用例及结果表 编号 测试方法 预期结果 实际结果 能正确下载文件到本地,下载能正确下载文件到本地,下载分别下载四种类型的文次数加1,资料成功添加到最次数加1,资料成功添加到最4 件 近浏览中 近浏览中 -51- 重庆理工大学毕业论文 第5章 系统测试 分别在线打开四种类型能够正确显示文件内容,资料提示请填写带*号的信息,资5 的文件 成功添加到最近浏览中 料成功添加到最近浏览中 5.2 非功能测试 5.2.1 GUI测试 分别将显示器分辨率设为1024×768和800×600,测试页面显示是否正常。显示器分辨率为1024×768时显示正常,分辨率为800×600时显示效果发生变化,需要进行调整。 改变浏览器宽度,测试各页面控件是否显示正常。结果是浏览器宽度改变时,控件的宽度能随之变化,最大程度上避免了滚动条的产生,方便了用户操作。 改变浏览器的文字大小设置,文字大小若设置为“最大”,页面显示将不够美观,可以通过添加级联样式单(CSS)确定页面显示效果。 使用不同版本浏览器进行访问,显示结果均正常。 5.2.2 性能测试 利用Microsoft的 Web Application Stress Tool进行测试,可以测试网页在高负荷情况下的运行性能。对系统登录页面进行了时长3分钟的测试,测试结果为平均每秒发出268.12次请求,HTTP、DNS和套接字的发生错误数均为0,比较理想。 5.2.3 安全性测试 安全性在中国正在受到越来越多的重视。借助于AppScan安全性测试工具检测SQL注入。因为对用户的输入进行校验,限制长度;密码采用MD5加密存储;对单引号和双"-"进行转换等;不使用动态拼装SQL,而使用参数化的SQL或者直接使用存储过程进行数据查询存取。测试结果为本系统能基本防止SQL注入攻击。 -52- 重庆理工大学毕业论文 第6章 总结与展望 第6章 总结与展望 6.1 结论 阅读管理系统的研究与开发以MyEclipse 8.5为开发平台,结合MySQL数据库,对阅读管理系统进行了设计和实现。功能包括:用户管理,资料的添加、删除,资料检索、下载和在线打开、分享等。现将工作成果总结如下: (1) 利用UML统一建模语言,对系统进行面向对象的软件设计。 (2) 对资料信息数据库进行了详细的设计,对权限控制进行了较深入的分析。 (3) 基本实现了Java利用外部工具或组件处理word、pdf等常用文档格式。 (4) 实现了教师、科研人员等对阅读管理的基本要求。 6.2 展望 本系统虽然实现了阅读管理系统的基本功能,但有些功能实现的还不是很好,比如权限添加起来很麻烦;在处理较大的文件速度慢,用户等待时间较长;对于没有专业背景的用户,操作起来比较困难等。本系统目前还没有形成一个完善的体系,还只能算一个不够完整的应用程序,离实际的应用还有一段距离。 由于时间和专业知识水平有限,部分模块利用了现成模板进行修改使用,不能完全独立编写,其核心模块各种功能也不够完善,所以本系统还不能实现完善的阅读管理,使用起来也有很多不方便的地方,对于这些遗留问题,目前还没有能力全部解决,希望在以后能得到改进,使本系统真正实现其自身价值。 -53- 重庆理工大学毕业论文 致谢 致 谢 在本次毕业设计过程中,我得到了指导老师的指导与支持。在此特别感谢指导老师的大力帮助。指导老师的悉心指导在总体结构、功能的把握上给予了非常大的帮助,同时对我在编程、数据库设计等细节工作上给予了指导,对我顺利完成这次毕业设计起到了重要的作用。在此,也感谢所有对我提供帮助的朋友们,是你们的支持及鼓励让我得到新的收获。谢谢大家。 通过这次毕业设计我还明白了作为一名软件专业的大学生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,努力学习。 最后,感谢我的母校和伟大的祖国。 -54- 重庆理工大学毕业论文 参考资料 参考资料 [1] 张冬梅.关注网络环境下小型文献管理机构的现代化建设[J].2006 科技情报开发与 经济 [2] 刘春燕.科技工作参考文献管理软件综合评析[J] . 2007 现代情报 [3] 徐琦.浅谈科研机构期刊文献管理现代化[J] . 2006 中小学图书情报世界 [4] 孙鑫.Servlet/JSP深入详解:基于Tomcat的Web开发[M] . 2008 电子工业大学出 版社 [5] 张新曼.精通JSP-Web开发技术与典型应用[M] . 2007 人民邮电出版社 [6] 应东生.Java开发技术全程指南[M] . 2008 电子工业大学出版社 [7] 王飞飞,崔洋,贺亚茹.MySQL数据库应用从入门到精通(第2版). 2014 中国铁 道出版社 [8] 刁成嘉.UML系统建模与分析设计. 2007 机械工业出版社 [9] jsp中文问题解决方案 [EB/OL] .[10] Java平台要实现类似豆丁百度文科的文档在线阅读[EB/OL] . [11] POI 读取word (word 2003和 word 2007)[EB/OL] . [12] java实现doc向swf格式的转换[EB/OL] .[13] Java Word转Pdf [EB/OL] . -55-
本文档为【【计算机软件毕业设计】基于web的个人阅读管理系统的设计与实现-(一稿)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_079973
暂无简介~
格式:doc
大小:293KB
软件:Word
页数:74
分类:生活休闲
上传时间:2018-03-28
浏览量:15