1、1本科毕业设计(论文)基于SSH框架的经贸学院信息系统的设计与开发学院管理学院专业信息管理与信息系统年级班别2008级(2)班学号3108006259学生姓名指导教师2012年6月2摘要广东工业大学经济与贸易学院于2009年与管理学院分拆成为一个新的学院,急需一个属于自己学院的官方网站用于协助学院的日常事务管理。然而此前的学院信息系统开发采用的技术相对落后,而且存在相对多的漏洞,在此背景之下,我们进行了针对符合经济与贸易学院实际情况的管理信息系统的研究与开发。本信息系统通过采用面向对象UML分析技术,分别进行了业务建模、需求分析和系统分析,明确了系统设计的内容。在系统设计开发部分,本系统采用了
2、基于B/S设计模式的MVC设计模式,并通过运用当前比较流行和适用的SSH框架技术实现了系统的诸多功能,例如新闻发布、科研信息发布、文件共享等功能。另外本系统还采用了页面静态化技术,加快了网页的打开速度,提高了用户体验。关键词经济与贸易学院;管理信息系统;面向对象UML分析;SSH框架注本论文题目来源于教师的校级科研项目3ABSTRACTGUANGDONGUNIVERSITYOFECONOMICSANDTRADEINSTITUTESCHOOLOFMANAGEMENTIN2009ANDSPLITINTOANEWCOLLEGE,THENEEDFORABELONGINGTOTHEIROWNOFFICI
3、ALWEBSITEOFTHEINSTITUTEUSEDTOASSISTINTHEDAILYAFFAIRSOFTHESCHOOLOFMANAGEMENTHOWEVER,PREVIOUSCOLLEGEINFORMATIONSYSTEMDEVELOPMENTUSINGTHETECHNOLOGYISRELATIVELYBACKWARD,BUTTHEREISRELATIVELYMOREVULNERABILITY,INTHISCONTEXT,WECARRIEDOUTTHERESEARCHANDDEVELOPMENTOFTHEMANAGEMENTINFORMATIONSYSTEMFORTHEACTUALSI
4、TUATIONOFTHESCHOOLOFECONOMYANDTRADETHEINFORMATIONSYSTEMSTHROUGHTHEUSEOFOBJECTORIENTEDUMLANALYSIS,BUSINESSMODELING,REQUIREMENTSANALYSISANDSYSTEMSANALYSIS,CLEARTHECONTENTSOFTHESYSTEMDESIGNINTHESYSTEMDESIGNANDDEVELOPMENTPARTOFTHESYSTEMBASEDONB/SDESIGNPATTERNMVCDESIGNPATTERN,ANDMANYOFTHEFEATURESOFTHESYS
5、TEMTHROUGHTHEUSEOFTHETECHNOLOGYOFTHEMOREPOPULARANDAPPLICABLESSHFRAMEWORK,SUCHASPRESSRELEASES,RESEARCHINFORMATION,THEFILESHARINGANDOTHERFUNCTIONSINADDITIONTHESYSTEMALSOUSESTHEPAGESTATICTECHNOLOGYTOSPEEDUPTHEPAGESOPENFASTER,ANDIMPROVETHEUSEREXPERIENCEKEYWORDSSCHOOLOFECONOMICSANDTRADEMANAGEMENTINFORMAT
6、IONSYSTEMOBJECTORIENTEDUMLANALYSISSSHFRAMEWORK4目录1绪论111选题背景112我国高校信息系统建设现状113选题意义114可行性分析2141经济可行性分析2142技术可行性2143社会可行性22需求分析221系统描述3211基本数据维护功能需求3212基本业务功能需求522系统目标923系统范围和系统边界924参与者1025系统用例1026细化用例1327系统用例场景163系统分析2131分析对象21311系统基本用例实现22312系统业务用例实现2532分析模型384系统设计4441系统平台说明44411编程语言选择分析45412系统开发模式说明
7、45413系统架构设计4642数据库设计4843搭建系统开发环境54431系统开发软件及框架的版本54432系统配置54433添加SSH框架支持5844代码设计61441实现持久化对象层61442实现数据访问层63443实现业务逻辑层64444实现WEB表现层645444STRUTS2和SPRING的配置655系统测试66结论80参考文献81致谢82111绪论11选题背景进入21世纪以来,互联网在中国迅猛发展,整个中华大地各行各业都掀起了一股信息化建设的浪潮,各种门户网站,企业网站纷纷建立。同时,作为信息化人才的培养基地,各高校也相继建立起自己的学校和院系信息系统。如今各种高校的管理信息系统在
8、高校中扮演者各种各样的角色,有的是图书管理系统协助图书管理、有的是排课系统协助教学工作提供工作效率、有的是科研项目管理系统协助高校的项目管理等等。信息系统的建立提高了高校的管理效率,强化教学质量、促进科研教研、提升服务水平、教学资源管理、科研管理、后勤与服务管理的全面整合,实现信息化增值服务。总之高校信息管理系统已经成为高等教育办学中必不可少的一部分,是信息经济条件下高等院校发展的大势所趋,也是我过高校向世界一流大学迈进的必有之路。12我国高校信息系统建设现状我国高校信息系统建设近年来取得了巨大的成就,绝大部分的院校都拥有自己的管理信息系统,但是我国的高校信息系统建设存在部分管理信息系统信息更
9、新慢、信息系统所应用的技术落后跟不上互联网发展的需求、网页打开速度慢、容易出现网页崩溃等问题。这样问题严重影响到了学校院系的对外形象,也严重影响到了高校的管理效率,阻碍了我国高校的信息化建设。13选题意义目前我校信息化建设发展良好,拥有众多的信息管理系统,为我校的教学质量的提高和管理效率的提高都做出了重要的贡献。2009对于经济系和国际贸易系从管理学院分离出来成立了经济与贸易学院,在社会信息化的时代大背景之下,新生的经济与贸易学院急迫需要一个属于自己的学院信息管理系统以协助学院的日常工作管理。然而此前经贸学院的学院网站信息管理系统存在加载速度慢、页面不美观、功能不完善等缺点。所以我们很有必要采
10、用新的技术开发出一个适应现在互联网发展需求和符合经贸学院需求的信息管理系统。该信息系统除了协助学院的日常管理工作外还会作为一个学院主页向外界展示经贸学院的风采,让更多的师2生、家长都可以了解到经贸学院,为经贸学院的信息化建设作出应有的贡献。因此,本信息系统的建立具有积极的重要意义。14可行性分析我们主要是从以下三个方面进行该信息系统的可行性分析141经济可行性分析本信息系统的研究与开发主要的成本来自于时间成本,经济成本几乎是很小的。完成改系统的开发需要的硬件环境是一个办公地点、4台电脑、桌子椅子各4套、网线路由等。而我们所使用的开发软件版本都是免费的,不存在较大费用问题。所以说本信息系统的开发
11、在学校的支持下在经济条件方面是可行的。142技术可行性根据我们项目小组的学习经验来说,开发完成本信息系统需要应用到SSH的框架技术,而根据我们小组成员的学习经验,尽管我们之前没有相关项目的开发经验,但是从技术的角度来看并不存在技术上解决不了的问题。通过不断地学习和实践,我们有足够的信心可以完成该信息系统的开发。所以,从技术可行性的角度来看,我们完成该信息系统实现业务目标是可行的。143社会可行性目前绝大部分的高校院系都拥有自己的管理信息系统,在教育信息化的背景下,缺少信息管理系统的工作效率是低下的,而且作为一个本科院校的学院,如果连一个院系的网站都没有,这样不单与自身身份不匹配,而且有损学校院
12、系的声誉。从社会的角度来看,一个学院的网站就是其对外的形象的体现,学生、家长和各种社会人士都可以通过学院网站来了解一个学院的概括。因此,从社会的角度来看,建立经贸学院网站信息系统不单从学院自身管理角度来说是必要的,而且从社会公众的角度来说是一种社会公众所潜在的需求。所以说从社会可行性来说,建立该信息系统也是可行的。2需求分析分析的一般步骤是先建立业务用例模型,然后根据业务用例模型在精化成概念用例模型,接下来才到需求分析。毋庸置疑,业务用例模型是很重要的,但是业务用3例模型是针对商业组织建模的,并非所有的系统都需要从业务用例建模开始。由于本系统的系统需求并不是很复杂,只是属于一个小型的管理信息系
13、统,不涉及复杂的业务,系统需求比较明确,因此本系统的开发将直接由需求分析开始。21系统描述通过参考个方面的资料和小组的讨论,我们认为本系统应该满足用户基本信息的管理、用户权限管理、公告新闻的发布管理、科研相关信息管理、消息留言管理、资源下载管理等需求,另外为了提高网页的打开速度,系统还应该包括对前台页面进行页面静态化处理的功能。其中用户基本信息的管理包括学生信息管理、班级信息管理、专业信息管理、教师信息管理;用户权限管理包括功能设置、角色设置、密码找回;公告新闻发布管理包括通知公告管理、学院新闻管理;消息留言管理包括消息管理、留言管理。本信息系统计划由4个人组成的小组完成,在小组内我们做了细致
14、化的分工,本人主要负责的是与科研相关信息管理模块,下面简称为信息管理模块。该模块包括的主要功能有学院科研信息管理、科研动态管理、科研论文管理、科研著作管理、科研获奖信息的管理、横向项目管理、纵向项目管理。在下面的分析中,本文将主要围绕科研相关信息管理模块来进行的。211基本数据维护功能需求各个模块的基本数据维护功能包括数据的增加、修改、查询和删除。1、增加数据,如图21所示。增加数据要求系统必须要记录改动作的操作者以便以后的信息分类。图21增加数据示意图2修改数据,如图22所示。修改数据必须要经过相关的验证,通过验证后才能进行数据的修改。输入数据保存到数据库显示输入数据后结果4图22修改数据示
15、意图3、查询数据,如图23所示。查询数据要求可以实现按条件精确查找和模糊查找两种查询方式。图23查询数据示意图4、删除数据,如图24所示。删除数据必须要经过相关的验证,通过验证后才能进行数据的删除。输入需要查询的条件根据查询条件到数据库查询相关数据显示相关数据列表选择精确查询或模糊查询选择要修改的数据是否可修改修改数据否查看数据详细是5图24删除数据示意图212基本业务功能需求无论系统业务功能是什么,怎么变化,其功能的实现都离不开数据的增删改查基本功能。但是因为增加是实际的业务,情况可能会变得复杂,每一个管理功能都不会是通过单一的数据增删改查即能实现,下面我们对信息管理功能模块进行详细的系统业
16、务分析。信息管理功能模块包括科研信息管理模块、科研动态管理模块、科研论文管理模块、科研著作管理模块、科研获奖管理模块、横向项目管理模块、纵向项目管理模块共7个模块。每个模块包括的子模块包括发布信息、查看已发布信息、审核已发布信息、查看最新发布信息。每个管理模块功能结构图如图25所示。选择要删除的数据是否可删除删除数据否查看数据详细是确定删除6图25管理模块功能结构图1、发布信息每个管理模块下发布信息的内容不一样但是原理和业务是一样的,如图26所示。图26发布信息示意图前置条件用户已登陆系统管理后台并且该拥有发布信息权限。信息的发布包括以下7方面信息的发布1科研论文的发布。发布内容包括论文题目、
17、第一作者、第二作者、第三作者、发表刊物名称、卷号、期号、页码范围、文献标识码、出版年月、地方刊号、INTERGRAL、CN号、ISBN号、ISSN号、EI、SCI、ISTP、统计源、学科门类、是否是核心期刊、全文转载、国外发行、外刊、论文集市国外还是国内的、课题资助来源、作者归属和附件。2科研信息的发布。发布内容包括发布单位、发布时间、信息标题、信息内容、附件。要求该功能可以实现科研信息的编辑和发布,且信息标题和内容不能为空。3科研动态的发布。发布内容包括发布单位、发布时间、信息标题、信息内容、附件。要求该功能可以实现科研动态的编辑和发布,且信息标题和内容不能为信息管理发布信息查看已发布信息审
18、核发布信息查看最新发布信息发布信息保存到数据库显示已发布信息列表7空。4科研著作的发布。发布内容包括著作第一作者、著作名称、出版时间、出版社、ISBN号和附件。5科研获奖信息的发布。发布内容包括获奖者、项目名称、授予单位、获奖等级、项目类型、出版时间和附件。6横向项目的发布。发布内容包括项目编号、项目名称、合作单位、负责人、项目时间、合作单位、项目资金、来款情况、发布时间、备注信息和附件。7纵向项目的发布。发布内容包括项目编号、项目名称、项目时间、项目来源、项目等级、负责人、项目资金、来款情况、发布时间、备注信息和附件。2、查看已发布信息当信息发布之后,我们可能会遇到需要修改删除信息的情况,因
19、此要求系统提供一个查看自己发布的信息的模块,通过该模块可以实现对自己发布的信息的详情查看和改删除。查看已发布信息模块只有发布人才可以进入,其他人一概没有权限进入。在该管理模块中,每个管理模块的查看已发布信息模块大致相同,如图27所示图27查看已发布信息示意图前置条件用户已登陆系统管理后台进入查看已发布信息模块。3、审核发布信息输入需要查询的条件根据查询条件到数据库查询相关信息显示相关信息列表是否已审核查看、修改、删除信息否查看信息详细是8审核发布信息,如图28所示。信息发布之后不能立刻对外公布,必须要经过管理员的审核。信息的审核状态有4种,分别是院内、院外、不通过、未审核。图28审核发布信息示
20、意图前置条件用户进入审核发布信息模块。4、查看最新发布信息最新发布是已经经过了审核的信息,如图29所示图29查看最新科研论文示意图前置条件用户已登录系统管理后台。5、上传附件我们在发布某些信息时,往往需要附带发布信息的附件,例如发布一条申报某科研项目的通知,那么就有存在要同时发布申报表的需求。因此要求系统有上传附件的功能。在发布科研论文时用户可以选择是否上传附件附件可以添加多个,附件可选的格式包括DOC、DOCX、XLS、XLSX、PPT、PPTX、PDF、EXE、BIN、ZIP、HTM、HTML、GIF、BMP、JPEG、MPEG。上传附件示意图如图210所示图210上传附件示意图前置条件用
21、户登录到发布信息页面。6、下载附件下载附件如图211所示。进入信息详情页下载附件下载成功上传附件保存到数据库显示上传结果进入查看最新信息模块查看信息详情显示详情结果选择待审核信息进行审核显示审核结果9图211附件下载示意图前置条件用户进入到信息详情页面。7、信息批量导入如果存在大量的信息需要发布,我们不能一条一条地发布,这样的效率很低,因此要求系统必须具备信息批量导入的功能,但信息批量导入要求导入文件符合系统提供的导入模板。如图212所示图212科研信息批量导入前置条件用户登陆系统管理后台。8、信息批量导出信息的批量导出如图213所示图213信息批量导出示意图前置条件用户登录系统管理后台。22
22、系统目标1、为各种科研相关信息的管理提供一个操作平台,提高工作效率和管理效能。2、提供一个友好的信息展示平台,方便信息的快速公布,同时方便读者快速查阅相关信息。23系统范围和系统边界由上述系统描述我们可以知道科研相关信息管理的系统范围包括科研信息发布管理、科研动态管理、科研论文管理、科研著作管理、科研获奖管理、横向项目管理、纵进入对应论文列表选择批量导出确定导出进入发布信息页面选择批量导入信息下载样板文件上传批量信息文件显示上传结果页面10向项目管理,系统边界就上面各个模块的边界,参与者处在系统系统边界之外,不属于系统方位之内。他们关系如下图所示图214系统边界24参与者由系统描述可以知道系统
23、的参与者有游客、用户和管理员。1、游客游客可以通过登录该系统的前台网站查看展示出来的相关信息,同时拥有下载附件的权限。2、用户用户的权限由管理员根据实际情况任意授予,在本系统中根据经贸学院的实际情况,用户包括的参与者有院长、党委书记、副院长、党委副书记、老师等。因为用户的具体权限要根据实际情况而定,现阶段是不确定的,为了分析方便,所以后面的分析中对院长、党委书记、副院长、党委副书记、老师等参与者统一以用户统称并且假设在信息管理模块中用户不拥有信息的审核权限。3、管理员管理员拥有所有系统权限。25系统用例11在大型复杂的系统中,系统用例都是来源于业务用例,但是由于本系统的业务并不复杂,如果进行业
24、务用例分析的话只能是将简单问题复杂话,因此我们直接由系统描述去分析出系统用例。信息管理模块具有7个子模块,每个子模块的功能需求如下1、科研信息管理模块科研信息管理模块包括科研信息的编辑发布、查看已发布科研信息,审核已发布科研信息、查看最新发布科研信息、附件的上传和下载。2、科研动态管理模块科研动态管理模块包括科研动态的编辑发布、查看已发布科研动态,审核已发布科研动态、查看最新发布科研动态、附件的上传和下载。3、科研论文管理模块科研论文管理模块包括科研论文发布、查看已发布科研论文,审核已发布科研论文、查看最新发布科研论文、附件的上传和下载、科研论文的批量导出和导入。4、科研著作管理模块科研著作管
25、理模块包括科研著作发布、查看已发布科研著作,审核已发布科研著作、查看最新发布科研著作、附件的上传和下载、科研著作的批量导出和导入。5、科研获奖管理模块科研获奖管理模块包括科研获奖发布、查看已发布科研获奖,审核已发布科研获奖、查看最新发布科研获奖、附件的上传和下载。6、横向项目管理模块横向项目管理模块包括横向项目发布、查看已发布横向项目,审核已发布横向项目、查看最新发布横向项目、附件的上传和下载、横向项目的批量导出和导入。7、纵向项目管理模块纵向项目管理模块包括纵向项目发布、查看已发布纵向项目,审核已发布纵向项目、查看最新发布纵向项目、附件的上传和下载、纵向项目的批量导出和导入。从上面的分析可以
26、找到,每个子模块的系统用例很类似,因此我们只需要从中选出科研信息管理和科研论文管理两个具有代表性的子模块来进行系统用例详细分析,其他具有类似系统用例的子模块只要参考这两个子模块就可以了。其系统用例关系图如图215和图216所示12审核发布科研信息FROM系统用例管理员FROM参与者发布科研信息FROM系统用例查看已发布科研信息FROM系统用例用户FROM参与者游客FROM参与者查看最新发布科研信息FROM系统用例图215科研信息管理子模块系统用例图审核发布科研论文FROM系统用例管理员FROM参与者发布科研论文FROM系统用例查看已发布科研论文FROM系统用例用户FROM参与者游客FROM参与
27、者查看最新科研论文FROM系统用例图216科研论文管理子模块系统用例图1326细化用例根据实际业务,分别对子模块下的系统用例进行细化分析,具体如下。1、科研信息管理模块。该模块下面有4个用例,每个用例的细分用例如下图所示发布科研信息FROM系统用例上传科研信息附件编辑科研信息图217发布科研信息细化系统用例图查看已发布科研信息修改科研信息删除科研信息查看科研信息详细查询科研信息图218查看已发布科研信息细化系统用例图14审核发布科研信息修改科研信息删除科研信息查看科研信息详细审核科研信息查询科研信息图219审核已发布科研信息细化系统用例图查看最新发布科研信息查看科研信息详细查询科研信息图220
28、查看最新科研信息细化系统用例图2、科研信息管理模块。该模块下面有4个用例,每个用例的细分用例如图15发布科研论文科研论文信息录入发布科研论文批量导入上传科研论文附件图221发布科研论文细化系统用例图图222查看已发布科研论文细化系统用例图查看科研论文详细修改科研论文批量导出科研论文审核科研论文审核发布科研论文删除科研论文查询科研论文图223审核已发布科研论文细化系统用例图16查看最新科研论文查看科研论文详细查询科研论文图224查看最新科研论文细化系统用例图在修改信息的子用例中还包括了附件管理的子用例,包括附件的修改、删除、下载,下面以修改科研论文为例说明,如图225所示修改科研论文FROM科研
29、论文管理修改附件删除附件下载附件图225修改科研论文细化系统用例图27系统用例场景系统用例场景与业务用例场景一样,都是描述用例的执行过程;不同的是,业务用例场景单单描述现实业务,而系统用例场景则是描述现实业务在结合新系统后如何执行的过程,系统的参与者如何使用这些系统用例来完成业务目标。绘制系统用例场景同样可以使用活动图、顺序图、协助图等交互图来描述。本项目为了更好地描述系统参与者使用系统用例的执行过程,明确各参与者的职责,因此使用活动图来绘制系统用例场景,描述系统用例实现的执行过程。17下面通过绘制活动图,从而完整地展示系统用例场景。1、科研信息管理用例场景1用户登录管理信息系统,编辑科研信息
30、,有必要时可选择添加附件,然后提交信息。2显示已发布科研信息列表,科研信息未经过审核前用户可以修改、删除科研信息。另外还可以查看科研信息详细、查询科研信息。3管理员审核新发布的科研信息,进行审批,审核的状态有4钟,分别是未审核、不通过、院内、院外,审核完成后显示最新审核信息列表。管理员可以查看科研信息详细,另外还可以查询、修改、删除科研信息。4游客通过经贸学院网站查看最新科研信息。用户和管理员还可以在网站管理后台的查看最新科研信息子模块查看最新科研信息。所有参与者都可以下载附件。图226是某特定情况下科研信息管理的系统用例场景1819图226某特定情况下科研信息管理的系统用例场景2、科研论文管
31、理用例场景1用户登录管理信息系统,填写科研论文信息,有必要时可选择添加附件,然后提交信息。此外用户还可以通过批量导入科研论文。2显示已发布科研论文列表,科研论文未经过审核前用户可以修改、删除科研论文。另外还可以查看科研论文详细、查询科研论文、批量导出科研论文。3管理员审核新发布的科研论文,进行审批,审核的状态有4钟,分别是未审核、20不通过、院内、院外,审核完成后显示最新审核信息列表。管理员可以查看科研论文详细,另外还可以查询、修改、删除科研论文和批量导出科研论文。4游客通过经贸学院网站查看最新科研论文。用户和管理员还可以在网站管理后台的查看最新科研信息子模块查看最新科研论文。所有参与者都可以
32、下载附件。图227是某特定情况下科研论文管理的用例系统场景21图227某特定情况下科研论文管理的系统用例场景3系统分析统一过程把分析与设计合并为一个核心工作流,即当成一个阶段来看。其实,分析设计阶段,也就是我们通常所说的概要设计与详细设计。本项目将系统分析与设计分为两个阶段,旨在表示在系统分析阶段与设计阶段的不同,分析阶段是通过分析类,建立分析模型,描述系统如何使用对象来实现系统需求。同时,分析阶段未涉及实现语言与方式,抽象层次较高。因此,用分析阶段作为需求到设计的过渡,来保持与系统需求一致。31分析对象22既然我们采用的是面向对象的方法,那么,自然就要通过对象之间的交互来描述需求的实现。因此
33、,我们从分析系统的对象开始,进入系统分析阶段。在UML的分析模型,使用的MVC模式,使用边界对象、控制对象、实体对象,这个三者来建立用例场景的对象模型。因此,回顾以上分析,仔细分析系统用例场景中的活动,以此发现和定义各个用例的对象,并得知对象如何交互来实现用例的。本项目使用时序图来描述用例的对象交互。311系统基本用例实现系统的基本用例实现包括系统的登陆、信息的发布、删除、修改、查询。由于每个用例的实现前提都是要求用户已经登录系统,因此可以把登录功能模块单独出来,在以后的时序图中距不必要每次的画出登陆部分。在系统基本用例实现中我们以管理员为参与者,以科研论文的删除修改为,通过时序图来描述对象交
34、互。1、系统登录,如图31所示图31管理员登陆系统用例实现图2、信息的修改和删除。信息的修改和删除包括各个科研信息、科研动态、科研论23文和附件等的信息的修改和删除。由于每个模块的信息的修改和删除的实现方法原理都一样,因此这里以科研论文的修改和删除为例进行用例实现说明,如图32和34所示图32修改科研信息用例实现24图33修改科研论文分析类图34科研论文删除用例实现25图35科研论文删除分析类312系统业务用例实现根据上述的系统描述和系统用例分析,我们可以知道系统的7个子模块拥有相似或相近的系统功能,因此我们没有必要7个模块一个一个地去进行系统用例实现的分析,我们以科研论文管理子模块为代表进行
35、分析即可。1、发布科研论文用例实现,如图36所示26图36发布科研论文用例实现其对应的分析类图如图37所示27图37发布科研论文分析类2、查看已发布科研论文。这部分只有发布人有权限进入,如图38所示图38查看已发布科研论文用例实现28其对应的分析类图如图39所示图39查看已发布科研论文分析类图3、审核科研论文用例实现,如图310所示29图310审核科研论文用例实现图其对应的分析类图如图311所示30图311审核科研论文分析类4、查看最新科研论文。该部分主要展示已被审核的科研论文。其用例实现图如图312所示31图312查看最新科研论文用例实现图其对应的分析类图如图313所示图313查看最新科研论
36、文分析类图325、附件上传。在发布科研论文的时候用户可以选择是否上传附件。附件上传的用例实现如图314所示314附件上传用例实现其对应的附件上传分析类图如图315所示33图315附件上传分析类6、附件下载。附件下载的用例实现如图316所示34图316附件下载用例实现附件下载对应的分析类如图317所示图317附件下载分析类图7、科研论文批量导入。科研论文批量导入要求导入文件符合系统要求的格式,科研论文批量导入用例实现图如图318所示35图318科研论文批量导入科研论文批量导入的分析类图如图319所示36图319科研论文批量导入8、科研论文批量导出。科研论文批量导出用例实现如图320所示37图32
37、0科研论文批量导出科研论文批量导出的分析类图如图321所示38图321科研论文批量导出32分析模型在项目过程中,我们可以通过分析模型对需求进行分析,得到系统视角的理解。在本节中将从WEB、BUSSINESSCONTROL、ENTITY这3个层次剖析分析类所在的层次,从而建立起分析模型。分析模型完成后我们将得到一个非常接近于设计类的模型,距离编码所使用的实现类仅一步之遥,可以真正进入系统设计阶段了。在本系统开发中,我们将使用SSH框架来实现系统,SSH是一个MVC模式的实现,由PAGE、ACTION和ACTIONFROM三个单元构成。1、发布科研论文的分析模型,具体的分析如下1发布科研论文WEB
38、层分析模型39图322发布科研论文WEB层分析模型实、对应的分析类图如323所示40图323发布科研论文WEB层分析类图2发布科研论文BUSINESSCONTROL层分析模型图323仅仅是发布科研论文用例在WEB层的实现,接下来,我们还要在BUSINESSCONTROL层实现它。从图322中我们可以看出,发布科研用例想BUSINESSCONTROL层的发布科研论文CONTROL类发出了三条消息,这三条消息在BUSINESSCONTROL层的实现结果如图324所示。41图324发布科研论文BUSINESSCONTROL层实现相对应的,在BUSINESSCONTROL层上,发布可以论文用例被实现如
39、图325所示结构。42图325发布科研论文BUSINESSCONTROL层分析类图3发布科研论文ENTITY层分析模型同样道理,在ENTITY层应用相应的框架绘制出的发布科研论文实现如图326所示。43图326发布科研论文ENTITY层分析类图相对应的在ENTITY层上,发布科研论文用例被实现为如图327所示。图327发布科研论文ENTITY层分析类图综合上述,我们可以得到发布科研论文用例最终分析模型,如图328所示44图328发布科研论文用例最终分析模型4系统设计通过上面的系统分析,我们已经明确了系统的需求,下面我们将进入系统设计阶段,分别从平台说明、搭建系统框架、代码设计三方面进行。41系
40、统平台说明在进入代码设计之前,我们必须要明确系统开发所用的平台。目前,系统开发平台有两种模式,一是C/S模式,另一个是B/S模式。C/S模式是指客户机/服务器模式,其优点是能充分利用分散的PC的处理能力,减轻服务器端的负担同时还可以提到客户端的响应速度;其缺点是必须在客户端安装客户端软件。B/S模式是指浏览器/服务器模式,45其优点是不需有在客户端安装任何附加软件,只需要通过浏览器就可以登录系统,减去安装客户端软件的麻烦,但其缺点是会增加服务器端的负担,影响系统的响应速度。通过前面的系统分析,我们已经可以知道,经贸学院网站面向的用户群体有限,同时在线用户比较少,服务器端并不会因为访问量过大而造
41、成数据堵塞,因此很明显,经贸学院网站是开发应该选择B/S模式。411编程语言选择分析确定系统平台模式之后,我们就要选择系统开发的平台。目前有NET,JAVA,C,PHP四大主流软件开发技术平台,四种平台各有优点和缺点,不能说哪个平台是最好的。但是对于某一个具体的项目来说,选择符合项目本身特点的实现平台却是至关重要的。首先来分析NET。NET是不能跨平台的,必须是基于在WINDWOS的FRAMEWORK环境的,在本项目中必须要求系统可以跨平台的,因此NET不适用本项目的系统开发,宣告退出。PHP和JAVA一样是可以实现跨平台应用的,PHP的特点是灵活,开发速度快,可以不受限制地获得源码,这种开源
42、的模式使得PHP具有强大的生命力。但是前辈们用自己的开发经验告诉我们,PHP并不适合大型项目的开发,比较适合中小型系统的开发。相比之下,JAVA则是一个成熟的开发平台,拥有众多快速开发中大型项目的经典开发模式和框架。在本项目中,该系统虽然不是一个很大型的系统,但是却对代码的复用性要求比较高,因此我们选择我们自己比较熟悉的JAVA,希望能应用我们自己所学的知识大展拳脚。C和JAVA一样同是面向对象的语言,都适用于大型项目的开发,但是C比较适用于C/S模式的开发,而JAVA比较适用于B/S模式的开发。通过前面的分析,我们已经知道本项目要求采用B/S模式,所以C很自然地被排除了。综上所述,我们最终选
43、择了JAVA开发平台。412系统开发模式说明在JAVA平台下,综合上面系统分析,我们可以通过采用MVC经典模式来进行该系统的开发,MVC模式就是为面向对象语言而生的。MVC是“MODELVIEWCONTROLLER“的缩写,中文翻译为“模型视图控制器“。MVC应用程序总是由这三个部分组成。EVENT事件导致CONTROLLER改变MODEL或VIEW,或者46同时改变两者。只要CONTROLLER改变了MODELS的数据或者属性,所有依赖的VIEW都会自动更新。类似的,只要CONTROLLER改变了VIEW,VIEW会从潜在的MODEL中获取数据来刷新自己。MVC是一个复杂的架构,其实现也显得
44、非常复杂。MVC英文即MODELVIEWCONTROLLER,即把一个应用的输入、处理、输出流程按照MODEL、VIEW、CONTROLLER的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图VIEW代表用户交互界面,对于WEB应用来说,可以概括为HTML界面,但有可能JSP界面。模型MODEL就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。控制CONTROLLER可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,
45、选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。MVC的主要优点如下1、多个视图可以对应一个模型。这样有利于代码的重用。如果模型发生改变,也容易升级和维护。2、由于模型和视图有CONTROLER进行控制,并且模型和视图是分离的,因此,可以通过模型为视图提供不同的数据,如各种类型的数据库、XML、EXCEL等。3、由于控制器负责访问视图和模型,因此,可以在控制器中加入权限验证来限制用户对敏感资源的访问。4、在MVC模式中,3个层次是分离的,降低了各个层次之前的耦合性,这样有利于对系统的隔层进行拓展。413系统架构设计目前,基于MVC模式的框架非常多,在本
46、系统的开发中我们采用了一个轻量级的JAVAEE技术的应用STRUTS2HIBERNATESPRING,下面我们简称其为SSH框架。SSH框架中每个框架的特点如下。STRUS2框架是STRUS1X的升价版本,继承了WEBWORK框架的优良设计,提供了更为强大的功能。STRUS2另外还提供了强大的标签库,例如TAGLIB标签库,使用标签库47可以避免JSP页面编写大量业务逻辑,是开发人员节省了宝贵的时间。如果只有JSP语言编写JSP页面,代码的工作量是很大的,很多功能用JSP语言需要写很长的代码的,而用STRUS2的标签却只需引用简单的标签即可达到相同的效果,笔者曾经进行过SSH框架的学习对此也是
47、深有感触。SPRING框架博大精深,是集框架之大成者,其具有IOC解耦合和AOP面向方向编程的特点,在实际项目中更多地作为其他框架的“粘合剂”作用。对其他现有框架的集成是SPRING的强大之处,这些子框架之间彼此独立,当使用每个框架方案代替现有方案是,不会影响到系统其他框架的实现部分,极大降低了系统开发和维护工作量。在SSH框架中,SPRING就肩负着整合STRUTS2和HIBERNATE的作用。HIBERNATE框架是目前最流行的ORM(对象关系映射)框架,HIBERNATE框架将JDBC进行了轻量级的对象封装,实现了数据的持久化,开发人员可以方便的运用面向对象编程的思想来控制数据库。在SS
48、H框架中,表现层、业务逻辑层和数据服务层3个层次泾渭分明,也就是说,表现层只和业务逻辑层打交道,而业务逻辑层通过数据服务层来操作数据库。表现层并不直接访问数据服务层。采用SSH框架后,本系统可以细分为以下几个层次。1、WEB层该层主要包括JSP页面、MVC中的“C”(CONTROLER)。其中“C”就是STRUTS2中的ACTION类。在ACTION类中主要负责调用业务逻辑层的组件,并返回相应的结果(RESULT)。2、业务逻辑层(SERVICE层)该层有若干接口和类组成。在本系统业务逻辑层的接口命名原则是使用后缀SERVICE,例如,COMMONSERVICE表示处理系统基础业务逻辑的接口。
49、实现接口类的命名原则是在接口名后面加上IMPL,如COMMONSERVICEIMPL表示实现COMMONSERVICE接口的类。该层的接口和类需要在SPRING中进行配置。3、数据访问层(DAO层)该层和业务逻辑层类似,也是由若干接口和类组成。4、持久对象层(PO层)该层有若干实现类组成,这些需要在映射文件中配置,可以在数据访问层的实现类中通过HIBERNATE框架来访问时就层对象。从上面的描述可以看出,使用SSH框架可以实现持久化对象层、数据访问层、业务逻辑层和CONTROLER,可以将这4部分成为中间层。如图41是本系统的基本层次结构。48图41系统的基本层次结构其中“中间层”中的各组件调用关系如图42所示。图42“中间层”各组件的调用关系42数据库设计本系统一共包括33张数据库表,为了保持论文的简洁性,这里只对我负责的11张表进行性展示,如下所示。表41INFO信息发布序号字段名字段类型字段长度主键外键空值备注1INFOIDINTEGER是否自增2INFOTITLEVARCHAR50否信息标题3INFOSENDERVARCHAR50发布单位4INFOTIMEDATETIME发布时间5INFOCONTEXTTEXT否信息内容6INFOREADTIMESINTEGER否阅读次数,默认为07INFOEDITERINTEGER是与老师表的TEACHERID对应,发布者8AUDI