基于SSH框架的经贸学院信息系统的设计与开发信息管理系统分析与设计毕业论文_第1页
基于SSH框架的经贸学院信息系统的设计与开发信息管理系统分析与设计毕业论文_第2页
基于SSH框架的经贸学院信息系统的设计与开发信息管理系统分析与设计毕业论文_第3页
基于SSH框架的经贸学院信息系统的设计与开发信息管理系统分析与设计毕业论文_第4页
基于SSH框架的经贸学院信息系统的设计与开发信息管理系统分析与设计毕业论文_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业设计(论文)本科毕业设计(论文) 基于基于 ssh 框架的经贸学院信息系统的设计与开框架的经贸学院信息系统的设计与开 发发 学 院 管理学院管理学院 专 业 信息管理与信息系统信息管理与信息系统 年级班别 20082008 级(级(2 2)班)班 学 号 31080062593108006259 学生姓名 凌凌 志志 强强 指导教师 聂聂 小小 东东 20122012 年年 6 6 月月 摘要摘要 广东工业大学经济与贸易学院于 2009 年与管理学院分拆成为一个新的学院,急 需一个属于自己学院的官方网站用于协助学院的日常事务管理。然而此前的学院信息 系统开发采用的技术相对落后,而且存在

2、相对多的漏洞,在此背景之下,我们进行了 针对符合经济与贸易学院实际情况的管理信息系统的研究与开发。 本信息系统通过采用面向对象 uml 分析技术,分别进行了业务建模、需求分析 和系统分析,明确了系统设计的内容。在系统设计开发部分,本系统采用了基于 b/s 设计模式的 mvc 设计模式,并通过运用当前比较流行和适用的 ssh 框架技术实现了 系统的诸多功能,例如新闻发布、科研信息发布、文件共享等功能。另外本系统还采 用了页面静态化技术,加快了网页的打开速度,提高了用户体验。 关键词:关键词:经济与贸易学院;管理信息系统;面向对象 uml 分析;ssh 框架 注:本论文题目来源于教师的校级科研项目

3、 abstractabstract guangdong university of economics and trade institute school of management in 2009 and split into a new college, the need for a belonging to their own official website of the institute used to assist in the daily affairs of the school of management. however, previous college inform

4、ation system development using the technology is relatively backward, but there is relatively more vulnerability, in this context, we carried out the research and development of the management information system for the actual situation of the school of economy and trade. the information systems thr

5、ough the use of object-oriented uml analysis, business modeling, requirements analysis and systems analysis, clear the contents of the system design. in the system design and development part of the system based on b / s design pattern mvc design pattern, and many of the features of the system throu

6、gh the use of the technology of the more popular and applicable ssh framework, such as press releases, research information, the file-sharing and other functions. in addition the system also uses the page static technology to speed up the pages open faster, and improve the user experience. key words

7、: school of economics and trade; management information system; object-oriented uml analysis; ssh framework 目录目录 1 绪论绪论.1 1.1 选题背景.1 1.2 我国高校信息系统建设现状.1 1.3 选题意义.1 1.4 可行性分析.2 1.4.1 经济可行性分析.2 1.4.2 技术可行性.2 1.4.3 社会可行性.2 2 需求分析需求分析.2 2.1 系统描述.3 2.1.1 基本数据维护功能需求.3 2.1.2 基本业务功能需求.5 2.2 系统目标.9 2.3 系统范围和系

8、统边界.9 2.4 参与者.10 2.5 系统用例.10 2.6 细化用例.13 2.7 系统用例场景.16 3 系统分析系统分析.21 3.1 分析对象.21 3.1.1 系统基本用例实现.22 3.1.2 系统业务用例实现.25 3.2 分析模型.38 4 系统设计系统设计.44 4.1 系统平台说明.44 4.1.1 编程语言选择分析.45 4.1.2 系统开发模式说明.45 4.1.3 系统架构设计.46 4.2 数据库设计.48 4.3 搭建系统开发环境.54 4.3.1 系统开发软件及框架的版本.54 4.3.2 系统配置.54 4.3.3 添加 ssh 框架支持.58 4.4 代

9、码设计.61 4.4.1 实现持久化对象层.61 4.4.2 实现数据访问层.63 4.4.3 实现业务逻辑层.64 4.4.4 实现 web 表现层.64 4.4.4 struts2 和 spring 的配置.65 5 系统测试系统测试.66 结论结论.80 参考文献参考文献.81 致谢致谢.82 1 1 绪论绪论 1.11.1 选题背景选题背景 进入 21 世纪以来,互联网在中国迅猛发展,整个中华大地各行各业都掀起了一股 信息化建设的浪潮,各种门户网站,企业网站纷纷建立。同时,作为信息化人才的培 养基地,各高校也相继建立起自己的学校和院系信息系统。如今各种高校的管理信息 系统在高校中扮演者

10、各种各样的角色,有的是图书管理系统协助图书管理、有的是排 课系统协助教学工作提供工作效率、有的是科研项目管理系统协助高校的项目管理等 等。信息系统的建立提高了高校的管理效率,强化教学质量、促进科研教研、提升服 务水平、教学资源管理、科研管理、后勤与服务管理的全面整合,实现信息化增值服 务。总之高校信息管理系统已经成为高等教育办学中必不可少的一部分,是信息经济 条件下高等院校发展的大势所趋,也是我过高校向世界一流大学迈进的必有之路。 1.21.2 我国高校信息系统建设现状我国高校信息系统建设现状 我国高校信息系统建设近年来取得了巨大的成就,绝大部分的院校都拥有自己的 管理信息系统,但是我国的高校

11、信息系统建设存在部分管理信息系统信息更新慢、信 息系统所应用的技术落后跟不上互联网发展的需求、网页打开速度慢、容易出现网页 崩溃等问题。这样问题严重影响到了学校院系的对外形象,也严重影响到了高校的管 理效率,阻碍了我国高校的信息化建设。 1.31.3 选题意义选题意义 目前我校信息化建设发展良好,拥有众多的信息管理系统,为我校的教学质量的 提高和管理效率的提高都做出了重要的贡献。 2009 对于经济系和国际贸易系从管理学院分离出来成立了经济与贸易学院,在社 会信息化的时代大背景之下,新生的经济与贸易学院急迫需要一个属于自己的学院信 息管理系统以协助学院的日常工作管理。然而此前经贸学院的学院网站

12、信息管理系统 存在加载速度慢、页面不美观、功能不完善等缺点。所以我们很有必要采用新的技术 开发出一个适应现在互联网发展需求和符合经贸学院需求的信息管理系统。该信息系 统除了协助学院的日常管理工作外还会作为一个学院主页向外界展示经贸学院的风采, 让更多的师生、家长都可以了解到经贸学院,为经贸学院的信息化建设作出应有的贡 献。因此,本信息系统的建立具有积极的重要意义。 1.41.4 可行性分析可行性分析 我们主要是从以下三个方面进行该信息系统的可行性分析: 1.4.1 经济可行性分析 本信息系统的研究与开发主要的成本来自于时间成本,经济成本几乎是很小的。 完成改系统的开发需要的硬件环境是:一个办公

13、地点、4 台电脑、桌子椅子各 4 套、网 线路由等。而我们所使用的开发软件版本都是免费的,不存在较大费用问题。所以说 本信息系统的开发在学校的支持下在经济条件方面是可行的。 1.4.2 技术可行性 根据我们项目小组的学习经验来说,开发完成本信息系统需要应用到 ssh 的框架 技术,而根据我们小组成员的学习经验,尽管我们之前没有相关项目的开发经验,但 是从技术的角度来看并不存在技术上解决不了的问题。通过不断地学习和实践,我们 有足够的信心可以完成该信息系统的开发。所以,从技术可行性的角度来看,我们完 成该信息系统实现业务目标是可行的。 1.4.3 社会可行性 目前绝大部分的高校院系都拥有自己的管

14、理信息系统,在教育信息化的背景下, 缺少信息管理系统的工作效率是低下的,而且作为一个本科院校的学院,如果连一个 院系的网站都没有,这样不单与自身身份不匹配,而且有损学校院系的声誉。从社会 的角度来看,一个学院的网站就是其对外的形象的体现,学生、家长和各种社会人士 都可以通过学院网站来了解一个学院的概括。因此,从社会的角度来看,建立经贸学 院网站信息系统不单从学院自身管理角度来说是必要的,而且从社会公众的角度来说 是一种社会公众所潜在的需求。所以说从社会可行性来说,建立该信息系统也是可行 的。 2 2 需求分析需求分析 分析的一般步骤是先建立业务用例模型,然后根据业务用例模型在精化成概 念用例模

15、型,接下来才到需求分析。毋庸置疑,业务用例模型是很重要的,但是业务 用例模型是针对商业组织建模的,并非所有的系统都需要从业务用例建模开始。由于 本系统的系统需求并不是很复杂,只是属于一个小型的管理信息系统,不涉及复杂的 业务,系统需求比较明确,因此本系统的开发将直接由需求分析开始。 2.12.1 系统描述系统描述 通过参考个方面的资料和小组的讨论,我们认为本系统应该满足用户基本信息的 管理、用户权限管理、公告新闻的发布管理、科研相关信息管理、消息留言管理、资 源下载管理等需求,另外为了提高网页的打开速度,系统还应该包括对前台页面进行 页面静态化处理的功能。 其中用户基本信息的管理包括学生信息管

16、理、班级信息管理、专业信息管理、教 师信息管理;用户权限管理包括功能设置、角色设置、密码找回;公告新闻发布管理 包括通知公告管理、学院新闻管理;消息留言管理包括消息管理、留言管理。 本信息系统计划由 4 个人组成的小组完成,在小组内我们做了细致化的分工,本 人主要负责的是与科研相关信息管理模块,下面简称为信息管理模块。该模块包括的 主要功能有学院科研信息管理、科研动态管理、科研论文管理、科研著作管理、科研 获奖信息的管理、横向项目管理、纵向项目管理。在下面的分析中,本文将主要围绕 科研相关信息管理模块来进行的。 2.1.1 基本数据维护功能需求 各个模块的基本数据维护功能包括数据的增加、修改、

17、查询和删除。 1、增加数据,如图 2.1 所示。增加数据要求系统必须要记录改动作的操作者以 便以后的信息分类。 输入数据保存到数据库显示输入数据后结果 图 2.1 增加数据示意图 2.修改数据,如图 2.2 所示。修改数据必须要经过相关的验证,通过验证后才能 进行数据的修改。 选择要修改的数据 是否 可修 改 修改数据 否 查看数据 详细 是 图 2.2 修改数据示意图 3、查询数据,如图 2.3 所示。查询数据要求可以实现按条件精确查找和模糊查找 两种查询方式。 输入需要 查询的条 件 根据查询条件 到数据库查询 相关数据 显示相关数据列表 选择精确 查询或模 糊查询 图 2.3 查询数据示

18、意图 4、删除数据,如图 2.4 所示。删除数据必须要经过相关的验证,通过验证后才能 进行数据的删除。 选择要删除的数据 是否 可删 除 删除数据 否 查看数据 详细 是 确定删除 图 2.4 删除数据示意图 2.1.2 基本业务功能需求 无论系统业务功能是什么,怎么变化,其功能的实现都离不开数据的增删改查基 本功能。但是因为增加是实际的业务,情况可能会变得复杂,每一个管理功能都不会 是通过单一的数据增删改查即能实现,下面我们对信息管理功能模块进行详细的系统 业务分析。 信息管理功能模块包括科研信息管理模块、科研动态管理模块、科研论文管理模 块、科研著作管理模块、科研获奖管理模块、横向项目管理

19、模块、纵向项目管理模块 共 7 个模块。每个模块包括的子模块包括发布信息、查看已发布信息、审核已发布信 息、查看最新发布信息。每个管理模块功能结构图如图 2.5 所示。 信息管理 发布信息 查看已发布信息 审核发布信息 查看最新发布信息 图 2.5 管理模块功能结构图 1、发布信息 每个管理模块下发布信息的内容不一样但是原理和业务是一样的,如图 2.6 所示。 发布信息保存到数据库显示已发布信息列表 图 2.6 发布信息示意图 前置条件:用户已登陆系统管理后台并且该拥有发布信息权限。 信息的发布包括以下 7 方面信息的发布: (1)科研论文的发布。发布内容包括:论文题目、第一作者、第二作者、第

20、三作者、 发表刊物名称、卷号、期号、页码范围、文献标识码、出版年月、地方刊号、 intergral、cn 号、isbn 号、issn 号、ei、sci、istp、统计源、学科门类、 是否是核心期刊、全文转载、国外发行、外刊、论文集市国外还是国内的、课 题资助来源、作者归属和附件。 (2)科研信息的发布。发布内容包括:发布单位、发布时间、信息标题、信息内容、 附件。要求该功能可以实现科研信息的编辑和发布,且信息标题和内容不能为 空。 (3)科研动态的发布。发布内容包括:发布单位、发布时间、信息标题、信息内容、 附件。要求该功能可以实现科研动态的编辑和发布,且信息标题和内容不能为 空。 (4)科研

21、著作的发布。发布内容包括:著作第一作者、著作名称、出版时间、出版 社、isbn 号和附件。 (5)科研获奖信息的发布。发布内容包括:获奖者、项目名称、授予单位、获奖等 级、项目类型、出版时间和附件。 (6)横向项目的发布。发布内容包括:项目编号、项目名称、合作单位、负责人、 项目时间、合作单位、项目资金、来款情况、发布时间、备注信息和附件。 (7)纵向项目的发布。发布内容包括:项目编号、项目名称、项目时间、项目来源、 项目等级、负责人、项目资金、来款情况、发布时间、备注信息和附件。 2、查看已发布信息 当信息发布之后,我们可能会遇到需要修改删除信息的情况,因此要求系统提供一 个查看自己发布的信

22、息的模块,通过该模块可以实现对自己发布的信息的详情查看 和改删除。查看已发布信息模块只有发布人才可以进入,其他人一概没有权限进入。 在该管理模块中,每个管理模块的查看已发布信息模块大致相同,如图 2.7 所示: 输入需要 查询的条 件 根据查询条件 到数据库查询 相关信息 显示相关信息列表 是否 已审 核 查看、修改、 删除信息 否 查看信 息详细 是 图 2.7 查看已发布信息示意图 前置条件:用户已登陆系统管理后台进入查看已发布信息模块。 3、审核发布信息 审核发布信息,如图 2.8 所示。信息发布之后不能立刻对外公布,必须要经过管理 员的审核。信息的审核状态有 4 种,分别是院内、院外、

23、不通过、未审核。 选择待审核信息进行审核显示审核结果 图 2.8 审核发布信息示意图 前置条件:用户进入审核发布信息模块。 4、查看最新发布信息 最新发布是已经经过了审核的信息,如图 2.9 所示: 进入查看最新信息模块查看信息详情显示详情结果 图 2.9 查看最新科研论文示意图 前置条件:用户已登录系统管理后台。 5、上传附件 我们在发布某些信息时,往往需要附带发布信息的附件,例如发布一条申报某科研 项目的通知,那么就有存在要同时发布申报表的需求。因此要求系统有上传附件的 功能。在发布科研论文时用户可以选择是否上传附件附件可以添加多个,附件可选 的格式包括 doc、docx、xls、xlsx

24、、ppt、pptx、pdf、exe、bin、zip、htm、html、gif、bmp 、jpeg、mpeg。上传附件示意图如图 2.10 所示: 上传附件保存到数据库显示上传结果 图 2.10 上传附件示意图 前置条件:用户登录到发布信息页面。 6、下载附件 下载附件如图 2.11 所示。 进入信息详情页下载附件下载成功 图 2.11 附件下载示意图 前置条件:用户进入到信息详情页面。 7、信息批量导入 如果存在大量的信息需要发布,我们不能一条一条地发布,这样的效率很低,因此 要求系统必须具备信息批量导入的功能,但信息批量导入要求导入文件符合系统提 供的导入模板。如图 2.12 所示: 进入发

25、布信息页面选择批量导入信息下载样板文件 上传批量信息文件显示上传结果页面 图 2.12 科研信息批量导入 前置条件:用户登陆系统管理后台。 8、信息批量导出 信息的批量导出如图 2.13 所示: 进入对应论文列表选择批量导出确定导出 图 2.13 信息批量导出示意图 前置条件:用户登录系统管理后台。 2.22.2 系统目标系统目标 1、为各种科研相关信息的管理提供一个操作平台,提高工作效率和管理效能。 2、提供一个友好的信息展示平台,方便信息的快速公布,同时方便读者快速查阅 相关信息。 2.32.3 系统范围和系统边界系统范围和系统边界 由上述系统描述我们可以知道科研相关信息管理的系统范围包括

26、科研信息发布管 理、科研动态管理、科研论文管理、科研著作管理、科研获奖管理、横向项目管理、 纵向项目管理,系统边界就上面各个模块的边界,参与者处在系统系统边界之外,不 属于系统方位之内。他们关系如下图所示: 图 2.14 系统边界 2.42.4 参与者参与者 由系统描述可以知道系统的参与者有游客、用户和管理员。 1、游客:游客可以通过登录该系统的前台网站查看展示出来的相关信息,同时拥 有下载附件的权限。 2、用户:用户的权限由管理员根据实际情况任意授予,在本系统中根据经贸学院 的实际情况,用户包括的参与者有:院长、党委书记、副院长、党委副书记、老 师等。因为用户的具体权限要根据实际情况而定,现

27、阶段是不确定的,为了分析 方便,所以后面的分析中对院长、党委书记、副院长、党委副书记、老师等参与 者统一以用户统称并且假设在信息管理模块中用户不拥有信息的审核权限。 3、管理员:管理员拥有所有系统权限。 2.52.5 系统用例系统用例 在大型复杂的系统中,系统用例都是来源于业务用例,但是由于本系统的业务并 不复杂,如果进行业务用例分析的话只能是将简单问题复杂话,因此我们直接由系统 描述去分析出系统用例。 信息管理模块具有 7 个子模块,每个子模块的功能需求如下: 1、科研信息管理模块 科研信息管理模块包括科研信息的编辑发布、查看已发布科研信息,审核已发布 科研信息、查看最新发布科研信息、附件的

28、上传和下载。 2、科研动态管理模块 科研动态管理模块包括科研动态的编辑发布、查看已发布科研动态,审核已发布 科研动态、查看最新发布科研动态、附件的上传和下载。 3、科研论文管理模块 科研论文管理模块包括科研论文发布、查看已发布科研论文,审核已发布科研论 文、查看最新发布科研论文、附件的上传和下载、科研论文的批量导出和导入。 4、科研著作管理模块 科研著作管理模块包括科研著作发布、查看已发布科研著作,审核已发布科研著 作、查看最新发布科研著作、附件的上传和下载、科研著作的批量导出和导入。 5、科研获奖管理模块 科研获奖管理模块包括科研获奖发布、查看已发布科研获奖,审核已发布科研获 奖、查看最新发

29、布科研获奖、附件的上传和下载。 6、横向项目管理模块 横向项目管理模块包括横向项目发布、查看已发布横向项目,审核已发布横向项 目、查看最新发布横向项目、附件的上传和下载、横向项目的批量导出和导入。 7、纵向项目管理模块 纵向项目管理模块包括纵向项目发布、查看已发布纵向项目,审核已发布纵向项 目、查看最新发布纵向项目、附件的上传和下载、纵向项目的批量导出和导入。 从上面的分析可以找到,每个子模块的系统用例很类似,因此我们只需要从中选 出科研信息管理和科研论文管理两个具有代表性的子模块来进行系统用例详细分析, 其他具有类似系统用例的子模块只要参考这两个子模块就可以了。其系统用例关系图 如图 2.1

30、5 和图 2.16 所示: 上 上 上 上 上 上 上 上 (from 上 上 上 上 ) 上 上 上 (from 上 上 上 ) 上 上 上 上 上 上 (from 上 上 上 上 ) 上 上 上 上 上 上 上 上 上 (from 上 上 上 上 ) 上 上 (from 上 上 上 ) 上 上 (from 上 上 上 ) 上 上 上 上 上 上 上 上 上 上 (from 上 上 上 上 ) 图 2.15 科研信息管理子模块系统用例图 上 上 上 上 上 上 上 上 (from 上 上 上 上 ) 上 上 上 (from 上 上 上 ) 上 上 上 上 上 上 (from 上 上 上 上

31、) 上 上 上 上 上 上 上 上 上 (from 上 上 上 上 ) 上 上 (from 上 上 上 ) 上 上 (from 上 上 上 ) 上 上 上 上 上 上 上 上 (from 上 上 上 上 ) 图 2.16 科研论文管理子模块系统用例图 2.62.6 细化用例细化用例 根据实际业务,分别对子模块下的系统用例进行细化分析,具体如下。 1、科研信息管理模块。该模块下面有4个用例,每个用例的细分用例如下图所示: 上 上 上 上 上 上 (from 上 上 上 上 ) 上 上 上 上 上 上 上 上上 上 上 上 上 上 图2.17发布科研信息细化系统用例图 上 上 上 上 上 上 上

32、上 上上 上 上 上 上 上上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 图2.18查看已发布科研信息细化系统用例图 上 上 上 上 上 上 上 上 上 上 上 上 上 上上 上 上 上 上 上 上 上 上 上 上 上 上 上上 上 上 上 上 上 上 上 上 上 上 上 图2.19审核已发布科研信息细化系统用例图 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 图2.20查看最新科研信息细化系统用例图 2、科研信息管理模块。该模块下面有 4 个用例,每个用例的细分用例如图: 上 上 上 上 上 上 上 上 上

33、上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 图 2.21 发布科研论文细化系统用例图 图 2.22 查看已发布科研论文细化系统用例图 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 图 2.23 审核已发布科研论文细化系统用例图 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上上 上 上 上 上 上 图 2.24 查看最新科研论文细化系统用例图 在修改信息的子用例中还包括了附件管理的子用例,

34、包括附件的修改、删除、下 载,下面以修改科研论文为例说明,如图 2.25 所示: 上 上 上 上 上 上 (from 上 上 上 上 上 上 ) 上 上 上 上 上 上 上 上 上 上 上 上 图 2.25 修改科研论文细化系统用例图 2.72.7 系统用例场景系统用例场景 系统用例场景与业务用例场景一样,都是描述用例的执行过程;不同的是,业务 用例场景单单描述现实业务,而系统用例场景则是描述现实业务在结合新系统后如何 执行的过程,系统的参与者如何使用这些系统用例来完成业务目标。绘制系统用例场 景同样可以使用活动图、顺序图、协助图等交互图来描述。 本项目为了更好地描述系统参与者使用系统用例的执

35、行过程,明确各参与者的职 责,因此使用活动图来绘制系统用例场景,描述系统用例实现的执行过程。 下面通过绘制活动图,从而完整地展示系统用例场景。 1、科研信息管理用例场景 (1)用户登录管理信息系统,编辑科研信息,有必要时可选择添加附件,然后提交 信息。 (2)显示已发布科研信息列表,科研信息未经过审核前用户可以修改、删除科研信 息。另外还可以查看科研信息详细、查询科研信息。 (3)管理员审核新发布的科研信息,进行审批,审核的状态有 4 钟,分别是未审核、 不通过、院内、院外,审核完成后显示最新审核信息列表。管理员可以查看科研信 息详细,另外还可以查询、修改、删除科研信息。 (4)游客通过经贸学

36、院网站查看最新科研信息。用户和管理员还可以在网站管理后 台的查看最新科研信息子模块查看最新科研信息。所有参与者都可以下载附件。 图 2.26 是某特定情况下科研信息管理的系统用例场景: 图 2.26 某特定情况下科研信息管理的系统用例场景 2、科研论文管理用例场景 (1)用户登录管理信息系统,填写科研论文信息,有必要时可选择添加附件,然后 提交信息。此外用户还可以通过批量导入科研论文。 (2)显示已发布科研论文列表,科研论文未经过审核前用户可以修改、删除科研论 文。另外还可以查看科研论文详细、查询科研论文、批量导出科研论文。 (3)管理员审核新发布的科研论文,进行审批,审核的状态有 4 钟,分

37、别是未审核、 不通过、院内、院外,审核完成后显示最新审核信息列表。管理员可以查看科研论 文详细,另外还可以查询、修改、删除科研论文和批量导出科研论文。 (4)游客通过经贸学院网站查看最新科研论文。用户和管理员还可以在网站管理后 台的查看最新科研信息子模块查看最新科研论文。所有参与者都可以下载附件。 图 2.27 是某特定情况下科研论文管理的用例系统场景: 图 2.27 某特定情况下科研论文管理的系统用例场景 3 3 系统分析系统分析 统一过程把分析与设计合并为一个核心工作流,即当成一个阶段来看。其实,分 析设计阶段,也就是我们通常所说的概要设计与详细设计。本项目将系统分析与设计 分为两个阶段,

38、旨在表示在系统分析阶段与设计阶段的不同,分析阶段是通过分析类, 建立分析模型,描述系统如何使用对象来实现系统需求。同时,分析阶段未涉及实现 语言与方式,抽象层次较高。因此,用分析阶段作为需求到设计的过渡,来保持与系 统需求一致。 3.13.1 分析对象分析对象 既然我们采用的是面向对象的方法,那么,自然就要通过对象之间的交互来描述 需求的实现。因此,我们从分析系统的对象开始,进入系统分析阶段。 在 uml 的分析模型,使用的 mvc 模式,使用边界对象、控制对象、实体对象,这 个三者来建立用例场景的对象模型。因此,回顾以上分析,仔细分析系统用例场景中 的活动,以此发现和定义各个用例的对象,并得

39、知对象如何交互来实现用例的。本项 目使用时序图来描述用例的对象交互。 3.1.1 系统基本用例实现 系统的基本用例实现包括系统的登陆、信息的发布、删除、修改、查询。 由于每个用例的实现前提都是要求用户已经登录系统,因此可以把登录功能模块 单独出来,在以后的时序图中距不必要每次的画出登陆部分。在系统基本用例实现中 我们以管理员为参与者,以科研论文的删除修改为,通过时序图来描述对象交互。 1、系统登录,如图 3.1 所示: 图 3.1 管理员登陆系统用例实现图 2、信息的修改和删除。信息的修改和删除包括各个科研信息、科研动态、科研论 文和附件等的信息的修改和删除。由于每个模块的信息的修改和删除的实

40、现方法 原理都一样,因此这里以科研论文的修改和删除为例进行用例实现说明,如图 3.2 和 3.4 所示: 图 3.2 修改科研信息用例实现 图 3.3 修改科研论文分析类 图 3.4 科研论文删除用例实现 图 3.5 科研论文删除分析类 3.1.2 系统业务用例实现 根据上述的系统描述和系统用例分析,我们可以知道系统的 7 个子模块拥有相似 或相近的系统功能,因此我们没有必要 7 个模块一个一个地去进行系统用例实现 的分析,我们以科研论文管理子模块为代表进行分析即可。 1、发布科研论文用例实现,如图 3.6 所示: 图 3.6 发布科研论文用例实现 其对应的分析类图如图 3.7 所示: 图 3

41、.7 发布科研论文分析类 2、查看已发布科研论文。这部分只有发布人有权限进入,如图 3.8 所示: 图 3.8 查看已发布科研论文用例实现 其对应的分析类图如图 3.9 所示: 图 3.9 查看已发布科研论文分析类图 3、审核科研论文用例实现,如图 3.10 所示: 图 3.10 审核科研论文用例实现图 其对应的分析类图如图 3.11 所示: 图 3.11 审核科研论文分析类 4、查看最新科研论文。该部分主要展示已被审核的科研论文。其用例实现图如图 3.12 所示: 图 3.12 查看最新科研论文用例实现图 其对应的分析类图如图 3.13 所示: 图 3.13 查看最新科研论文分析类图 5、附

42、件上传。在发布科研论文的时候用户可以选择是否上传附件。附件上传的用 例实现如图 3.14 所示: 3.14 附件上传用例实现 其对应的附件上传分析类图如图 3.15 所示: 图 3.15 附件上传分析类 6、附件下载。附件下载的用例实现如图 3.16 所示: 图 3.16 附件下载用例实现 附件下载对应的分析类如图 3.17 所示: 图 3.17 附件下载分析类图 7、科研论文批量导入。科研论文批量导入要求导入文件符合系统要求的格式,科 研论文批量导入用例实现图如图 3.18 所示: 图 3.18 科研论文批量导入 科研论文批量导入的分析类图如图 3.19 所示: 图 3.19 科研论文批量导

43、入 8、科研论文批量导出。科研论文批量导出用例实现如图 3.20 所示: 图 3.20 科研论文批量导出 科研论文批量导出的分析类图如图 3.21 所示: 图 3.21 科研论文批量导出 3.23.2 分析模型分析模型 在项目过程中,我们可以通过分析模型对需求进行分析,得到系统视角的理解。 在本节中将从 web、bussinesscontrol、entity 这 3 个层次剖析分析类所在的层次, 从而建立起分析模型。分析模型完成后我们将得到一个非常接近于设计类的模型,距 离编码所使用的实现类仅一步之遥,可以真正进入系统设计阶段了。 在本系统开发中,我们将使用 ssh 框架来实现系统,ssh 是

44、一个 mvc 模式的实现, 由 page、action 和 actionfrom 三个单元构成。 1、发布科研论文的分析模型,具体的分析如下: (1)发布科研论文 web 层分析模型 图 3.22 发布科研论文 web 层分析模型实、 对应的分析类图如 3.23 所示: 图 3.23 发布科研论文 web 层分析类图 (2)发布科研论文 businesscontrol 层分析模型 图 3.23 仅仅是发布科研论文用例在 web 层的实现,接下来,我们还要在 businesscontrol 层实现它。从图 3.22 中我们可以看出,发布科研用例想 businesscontrol 层的发布科研论文

45、 control 类发出了三条消息,这三条消息在 businesscontrol 层的实现结果如图 3.24 所示。 图 3.24 发布科研论文 businesscontrol 层实现 相对应的,在 businesscontrol 层上,发布可以论文用例被实现如图 3.25 所示结 构。 图 3.25 发布科研论文 businesscontrol 层分析类图 (3)发布科研论文 entity 层分析模型 同样道理,在 entity 层应用相应的框架绘制出的发布科研论文实现如图 3.26 所 示。 图 3.26 发布科研论文 entity 层分析类图 相对应的在 entity 层上,发布科研论文

46、用例被实现为如图 3.27 所示。 图 3.27 发布科研论文 entity 层分析类图 综合上述,我们可以得到发布科研论文用例最终分析模型,如图 3.28 所示 图 3.28 发布科研论文用例最终分析模型 4 4 系统设计系统设计 通过上面的系统分析,我们已经明确了系统的需求,下面我们将进入系统设计 阶段,分别从平台说明、搭建系统框架、代码设计三方面进行。 4.14.1 系统平台说明系统平台说明 在进入代码设计之前,我们必须要明确系统开发所用的平台。目前,系统开发平 台有两种模式,一是 c/s 模式,另一个是 b/s 模式。c/s 模式是指客户机/服务器模式, 其优点是能充分利用分散的 pc

47、 的处理能力,减轻服务器端的负担同时还可以提到客户 端的响应速度;其缺点是必须在客户端安装客户端软件。b/s 模式是指浏览器/服务器 模式,其优点是不需有在客户端安装任何附加软件,只需要通过浏览器就可以登录系 统,减去安装客户端软件的麻烦,但其缺点是会增加服务器端的负担,影响系统的响 应速度。 通过前面的系统分析,我们已经可以知道,经贸学院网站面向的用户群体有限, 同时在线用户比较少,服务器端并不会因为访问量过大而造成数据堵塞,因此很明显, 经贸学院网站是开发应该选择 b/s 模式。 4.1.1 编程语言选择分析 确定系统平台模式之后,我们就要选择系统开发的平台。 目前有.net , java

48、 ,c+ ,php 四大主流软件开发技术平台,四种平台各有优点 和缺点,不能说哪个平台是最好的。但是对于某一个具体的项目来说,选择符合项目 本身特点的实现平台却是至关重要的。 首先来分析.net。.net 是不能跨平台的,必须是基于在 windwos 的 framework 环 境的,在本项目中必须要求系统可以跨平台的,因此.net 不适用本项目的系统开发, 宣告退出。 php 和 java 一样是可以实现跨平台应用的,php 的特点是灵活,开发速度快,可 以不受限制地获得源码,这种开源的模式使得 php 具有强大的生命力。但是前辈们用 自己的开发经验告诉我们,php 并不适合大型项目的开发,

49、比较适合中小型系统的开发。 相比之下,java 则是一个成熟的开发平台,拥有众多快速开发中大型项目的经典开发 模式和框架。在本项目中,该系统虽然不是一个很大型的系统,但是却对代码的复用 性要求比较高,因此我们选择我们自己比较熟悉的 java,希望能应用我们自己所学的 知识大展拳脚。 c+和 java 一样同是面向对象的语言,都适用于大型项目的开发,但是 c+比较适 用于 c/s 模式的开发,而 java 比较适用于 b/s 模式的开发。通过前面的分析,我们已 经知道本项目要求采用 b/s 模式,所以 c+很自然地被排除了。 综上所述,我们最终选择了 java 开发平台。 4.1.2 系统开发模

50、式说明 在 java 平台下,综合上面系统分析,我们可以通过采用 mvc 经典模式来进行该系 统的开发,mvc 模式就是为面向对象语言而生的。 mvc 是model-view-controller的缩写,中文翻译为模型-视图-控制器。mvc 应用程序总是由这三个部分组成。event(事件)导致 controller 改变 model 或 view, 或者同时改变两者。只要 controller 改变了 models 的数据或者属性,所有依赖的 view 都会自动更新。类似的,只要 controller 改变了 view,view 会从潜在的 model 中获取数据来刷新自己。 mvc 是一个复

51、杂的架构,其实现也显得非常复杂。mvc 英文即 model-view- controller,即把一个应用的输入、处理、输出流程按照 model、view、controller 的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。 视图(view)代表用户交互界面,对于 web 应用来说,可以概括为 html 界面,但有可能 jsp 界面。 模型(model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理 过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。 控制(controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同 完

52、成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器, 选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做 任何的数据处理。 mvc 的主要优点如下: 1、多个视图可以对应一个模型。这样有利于代码的重用。如果模型发生改变,也 容易升级和维护。 2、由于模型和视图有 controler 进行控制,并且模型和视图是分离的,因此,可 以通过模型为视图提供不同的数据,如各种类型的数据库、xml、excel 等。 3、由于控制器负责访问视图和模型,因此,可以在控制器中加入权限验证来限制 用户对敏感资源的访问。 4、在 mvc 模式中,3 个层次是分离的,降低了

53、各个层次之前的耦合性,这样有利 于对系统的隔层进行拓展。 4.1.3 系统架构设计 目前,基于 mvc 模式的框架非常多,在本系统的开发中我们采用了一个轻量级的 java ee 技术的应用 struts2+hibernate+spring,下面我们简称其为 ssh 框架。 ssh 框架中每个框架的特点如下。 strus2 框架是 strus1.x 的升价版本,继承了 webwork 框架的优良设计,提供了 更为强大的功能。strus2 另外还提供了强大的标签库,例如 taglib 标签库,使用标签 库可以避免 jsp 页面编写大量业务逻辑,是开发人员节省了宝贵的时间。如果只有 jsp 语言编写

54、 jsp 页面,代码的工作量是很大的,很多功能用 jsp 语言需要写很长的代码 的,而用 strus2 的标签却只需引用简单的标签即可达到相同的效果,笔者曾经进行过 ssh 框架的学习对此也是深有感触。 spring 框架博大精深,是集框架之大成者,其具有 ioc 解耦合和 aop 面向方向编 程的特点,在实际项目中更多地作为其他框架的“粘合剂”作用。对其他现有框架的 集成是 spring 的强大之处,这些子框架之间彼此独立,当使用每个框架方案代替现有 方案是,不会影响到系统其他框架的实现部分,极大降低了系统开发和维护工作量。 在 ssh 框架中,spring 就肩负着整合 struts2 和

55、 hibernate 的作用。 hibernate 框架是目前最流行的 orm(对象-关系映射)框架,hibernate 框架将 jdbc 进行了轻量级的对象封装,实现了数据的持久化,开发人员可以方便的运用面向 对象编程的思想来控制数据库。 在 ssh 框架中,表现层、业务逻辑层和数据服务层 3 个层次泾渭分明,也就是说, 表现层只和业务逻辑层打交道,而业务逻辑层通过数据服务层来操作数据库。表现层 并不直接访问数据服务层。采用 ssh 框架后,本系统可以细分为以下几个层次。 1、web 层:该层主要包括 jsp 页面、mvc 中的“c” (controler) 。其中“c”就是 struts2

56、 中的 action 类。在 action 类中主要负责调用业务逻辑层的组件,并返回相应 的结果(result) 。 2、业务逻辑层(service 层):该层有若干接口和类组成。在本系统业务逻辑层 的接口命名原则是使用后缀 service,例如,commonservice 表示处理系统基础业务逻 辑的接口。实现接口类的命名原则是在接口名后面加上 impl,如 commonserviceimpl 表示实现 commonservice 接口的类。该层的接口和类需要在 spring 中进行配置。 3、数据访问层(dao 层):该层和业务逻辑层类似,也是由若干接口和类组成。 4、持久对象层(po 层

57、):该层有若干实现类组成,这些需要在映射文件中配置, 可以在数据访问层的实现类中通过 hibernate 框架来访问时就层对象。 从上面的描述可以看出,使用 ssh 框架可以实现持久化对象层、数据访问层、业 务逻辑层和 controler,可以将这 4 部分成为中间层。如图 4.1 是本系统的基本层次结 构。 jsp 页面中间层数据库 图 4.1 系统的基本层次结构 其中“中间层”中的各组件调用关系如图 4.2 所示。 action 类业务逻辑层组件数据访问层组件 持久化对象层 (实体 bean) 图 4.2“中间层”各组件的调用关系 4.24.2 数据库设计数据库设计 本系统一共包括 33

58、张数据库表,为了保持论文的简洁性,这里只对我负责的 11 张表进行性展示,如下所示。 表表 4.14.1 info(info(信息发布信息发布) ) 序 号字段名字段类型字段长度 主 键 外 键 空 值备注 1infoidinteger 是 否自增 2infotitlevarchar 50 否信息标题 3infosendervarchar50 发布单位 4infotimedatetime 发布时间 5infocontext text 否信息内容 6inforeadtimesinteger 否阅读次数,默认为 0 7infoediterinteger 是 与老师表的 teacherid 对应,发

59、布者 8auditingchar1 审核状态,默认为 0(0=未审核,1=院 内公开,2=对外公开,3=审核不通过) 9infoassessorinteger 是空审核员,与老师表对应 teacherid 10assessorinfovarchar100 空审核信息 11infotypevarchar1 否 信息类型,(1=通知公告,2=滚动新闻, 3=科研信息,4=科研动态,5=招生就 业 表表 2 2 信息附件(信息附件(infofilesinfofiles) 序 号字段名字段类型字段长度 主 键 外 键 空 值备注 1infofilesidinteger 是 自增 2infoidinte

60、ger 是否与信息发布对应 infoid 3filenamevarchar100 否下载的文件名 4fileurlvarchar1000 唯 一档路径 5filecontextvarchar500 备注 表表 3 3 横向项目(横向项目(horizontalhorizontal) 序 号字段名字段类型字段长度 主 键 外 键 空 值备注 1horidinteger 是 否 2hornumvarchar7 否项目号 3hortitlevarchar50 否项目名称 4horcopartnervarchar500 合作单位(项目委托单位) 5horprincipalvarchar50 否负责人 6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论