基于SpringBoot的校友会设计与实现计算机专业_第1页
基于SpringBoot的校友会设计与实现计算机专业_第2页
基于SpringBoot的校友会设计与实现计算机专业_第3页
基于SpringBoot的校友会设计与实现计算机专业_第4页
基于SpringBoot的校友会设计与实现计算机专业_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

目录TOC\o"1-3"\h\u31561摘要 I21919Abstract II25486引言 176421相关技术 3209521.1MySQL 381061.2SSM框架 33871.2.1SpringBoot 381831.2.2Spring 4181281.2.3MyBatis 584661.3B/S架构 5260101.4本章小结 679502系统分析 768412.1用例分析 7143552.2功能需求 9219272.3非功能需求 10266132.4本章小结 10194873系统设计 11311893.1系统概要设计 1181353.1.1系统功能结构 11101463.1.2软件体系结构 12200123.2系统详细设计 13242333.2.1数据库设计 1396223.2.2系统功能设计 1665483.3本章小结 1834524系统实现 199114.1开发环境 19300634.2开发规范 19141244.3数据库实现 1994694.4核心功能实现 20258884.4.1学校专业信息录入功能 20245504.4.2活动管理功能 22302604.5本章小结 24140435系统测试 25255665.1测试计划 25253095.2测试用例 2569035.3压力测试 27158265.4测试结果 28298175.5本章小结 2812495结论 2924857致谢 3019910参考文献 31本科论文摘要随着中国教育体制改革的深化和高校自身的发展,校友工作越来越被高校所重视。绝大多数高校都成立了校友总会,并配备专职的人员,积极开展校友工作。由于“校友”具有数量庞大、联系松散的特点,所以高效校友工作普遍面临人员不足、资源有限等困境。所以借助互联网的力量来管理与维护校友信息,乃至开展进一步校友服务工作,目前已经成为高效校友工作者的共识。通过对市场需求的分析以及行业现状的调研。校友管理平台运用SSM技术进行功能的开发,网络结构模式采用B/S结构进行搭建,同时采用MySQL作为后台数据库,以Tomcat作为应用服务器开发并实现校友管理平台。所设计开发的校友管理平台共包含了校友、校友会等大模块。本系统的突出之处在于通过该系统使得管理员可以方便的管理校友信息,创建校友活动、募捐活动等。通过使用校友管理平台,使得业务的可操作性与实用性得到了增强,具有可靠,快捷的优点,在很大程度上降低了管理员的工作量,提升了管理员的工作效率。该系统采用的技术框架是SSM和Layui,这两个技术让系统的可维护性变得更高。在实际的编码完成后已经成功的实现了校友管理平台各个功能模块,之后对校友管理平台进行详细测试、测试结果将证明该系统已经可以正常使用。在实际使用之后证明该系统的整体运行稳定,能够满足大多数用户的学习和交流需求。关键词:校友信息;管理平台;SSM框架AbstractWiththedeepeningofChina'seducationsystemreformandthedevelopmentofuniversitiesthemselves,moreandmoreattentionhasbeenpaidtoalumniwork.Thevastmajorityofuniversitieshaveestablishedalumniassociations,whicharestaffedwithfull-timestaffandactivelycarryoutalumniwork.Duetothelargenumberof"alumni"andlooseconnection,theefficientworkofalumniisgenerallyfacedwiththedifficultiesofinsufficientstaffandlimitedresources.Therefore,tomanageandmaintainalumniinformationwiththehelpofthepoweroftheInternet,andeventocarryoutfurtheralumniservicework,hasbecometheconsensusofefficientalumniworkers.Throughtheanalysisofmarketdemandandtheinvestigationofthecurrentsituationoftheindustry.ThealumnimanagementplatformUSESSSMtechnologytodevelopitsfunctions.ThenetworkstructuremodelisbuiltwithB/Sstructure.Meanwhile,MySQLisusedasthebackgrounddatabaseandTomcatisusedastheapplicationservertodevelopandrealizethealumnimanagementplatform.Thedesignanddevelopmentofthealumnimanagementplatformincludesatotalofalumni,alumniassociationandotherlargemodules.Theoutstandingpointofthissystemisthatitallowsadministratorstoconvenientlymanagealumniinformation,createalumniactivities,fundraisingactivities,etc.Throughtheuseofalumnimanagementplatform,theoperabilityandpracticabilityofthebusinesshasbeenenhanced,withtheadvantagesofreliabilityandspeed,whichgreatlyreducestheworkloadofadministratorsandimprovestheirworkefficiency.ThetechnicalframeworksusedforthissystemareSSMandLayui,whichmakethesystemmoremaintainable.Afterthecompletionoftheactualcoding,variousfunctionalmodulesofthealumnimanagementplatformhavebeensuccessfullyrealized.Afterthedetailedtestofthealumnimanagementplatform,thetestresultswillprovethatthesystemcanbeusednormally.Itisprovedthatthesystemisstableandcanmeetthelearningandcommunicationneedsofmostusers.Keywords:alumniinformation;administer;SSMframework引言随着中国教育体制改革的深化和高校自身的发展,校友工作越来越被高校所重视。绝大多数高校都成立了校友总会,并配备专职的人员,积极开展校友工作。由于“校友”具有数量庞大、联系松散的特点,所以高效校友工作普遍面临人员不足、资源有限等困境。所以借助互联网的力量来管理与维护校友信息,乃至开展进一步校友服务工作,目前已经成为高效校友工作者的共识。校友工作是学校教育的沿伸,校友工作始终具有十分重要的意义,搭建校友平台,将同时服务于学校和校友。具体体现如下:学校层面:让学校能够方便的了解校友信息情况,快速查询校友数据、了解校友工作。校友信息的搜集和整理是校友工作的基础,也是学校最关心的内容之一。平台全面记录的各类校友信息,可供随时的查询与统计,并为学校开展进一步工作提供帮助。校友总会:系统将成为校友总会得力的助手,提升人员工作效率,提高校友信息管理水平。平台提供多级合作的架构设计,科学化、自动化的管理系统,功能多样的运营工具,都能够让工作人员从繁琐的工作中解放出来。校友组织:校友会的发展壮大离不开院系和地方分会的力量,系统可以为他们负能。总会通过系统与各级校友组织建立紧密的连接,使得校友会就能更加有效地挖掘校友骨干力量,搭建起全球校友组织网络,最大化连接与开发校友资源,帮助校友组织发展。校友:使每一个校友都参与到校友信息的建设中。只有让更多的人参与进来,校友信息的搜集和建设才是最高效的。通过校友信息服务平台的运营工具,为校友带来良好的体验,形成专属的校友圈子,让校友能够彼此互相帮助。本系统主要涉及校友和管理员三种权限。管理员拥有最高权限,管理员主要负责校友信息管理、活动及募捐的管理。管理员操作界面主要设计完成了菜单管理、用户管理、日志管理、专业管理、学校管理、校友信息管理、校友认证、删除申请、校友会管理、活动管理、募捐管理。校友操作界面主要设计完成了信息管理、活动列表、募捐列表、校友资料。在该系统中管理员可以通过日志管理查看校友及其他管理员的操作记录,同时可以进行用户的管理,在学校管理中管理员可以对加入校友会的学校进行管理并且可以为该学校添加对应的专业。在校友认证中管理员可以查看申请的校友信息,并对校友信息进行认证,认证通过后该信息会保留在校友信息管理中。校友申请删除校友信息时需要通过管理在删除申请中同意或驳回。在校友会管理中,管理员可以校友会以及活动与募捐。本文的总体结构为第1章相关技术综述,该部分用于介绍开发系统所使用的框架,以及开发系统项目所使用到的相关技术等;第2章系统分析,该部分将对校友管理平台的需求进行具体的详细分析,策划其软件目标、研究其可行性以及软件的需求分析工作;第3章系统设计,从总体上确定系统的设计方案、组成系统的模块以及模块之间的关系。同时要进行数据库设计、以及确定每个软件元素应该如何被详细实现,包括软件过程设计;第4章系统实现,阐述校友管理平台的具体实现过程,按照顺序演示核心功能的核心代码,并对其进行解释说明;第5章系统测试,该部分将介绍完成项目功能实现后如何开展测试工作的测试计划、测试用例,性能测试以及压力测试等。1相关技术本系统采用Java作为开发语言,网络结构模型使用了B/S结构,使用SSM框架搭建项目,数据库使用MySQL数据库,前端框架使用了Layui框架,安全框架使用了ApacheShiro。MySQLMySQL是一个关系型数据库管理系统,MySQL具有体积小、速度快、总体拥有成本低等优点,尤其是开发源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库,得利于MySQL数据库降低了网站的运营成本以及使用和维护数据库的成本。与其他的大型数据库(Oracle、DB2等)相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。SSM框架SSM框架包含SpringBoot、Spring和MyBatis三个框架,这三个框架在具体开发系统应用时侧重点各不相同,SpringBoot主要负责捕获请求与响应请求,Spring主要负责依赖注入、AOP等,MyBatis负责处理数据库中的数据。1.2.1SpringBootSpringBoot框架中有两个非常重要的策略:开箱即用和约定优于配置。开箱即用,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。约定优于配置,Conventionoverconfiguration,是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。SpringBoot框架的模块组成如图1.1所示为SpringBoot框架的模块组成图。图1.1SpringBoot框架的模块组成图1.2.2SpringSpring在2003年开始大范围使用。因为其为轻量级框架,而且开源,受到了很多人的追捧。Spring框架具有控制反转(IOC)及面向切面编程(AOP)这两大特点,而且可以自行整合其他种类的框架。Spring会反转得到对象的创建权,可以解决程序耦合性高的问题。面向切面编程可以为横向抽取,使用者可以不修改源代码然后增强程序。此框架还可以管理其他项目开发中的配置问题,例如管理JDBC连接池,进行项目事务的管理。Spring的配置需要在XML文件中进行,其他配置使用注解的方式,可以大大简化项目开发步骤。它用于控制反转和AOP。其在精简企业开发,减少组件之间的耦合,并实现软件层之间的解耦上起到决定性的作用。容器提供的许多服务都可以使用。如图1.2所示为Spring框架的模块组成。图1.2Spring框架的模块组成图1.2.3MyBatisMyBatis支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用户配置和原始映射,将接口和Java的实体类映射成数据库中的记录。MyBatis最强大的特性之一就是它的动态语句功能,MyBatis通过在任何映射SQL语句中使用强大的动态SQL来动态的操作数据。B/S架构B/S架构,是在Web之后十分受欢迎的网络架构模式,浏览器是现在客户端经常使用的软件,这样的使用方法将很多的客户端全部都统一在了一起,将想要做的系统中的核心功能点全部都集中在一起进行处理,从而简化了开发时的维护和运行,因此只需一个浏览器即可。使用此结构,减少成本,选择更多。如今许多使用者操作系统选择的都是Windows,上网使用的都是浏览器,然而这些都是在日常生活中,当想要在服务器上进行操作的时候,就可以使用Linux服务器,然后在上面进行操作,这样进行操作可以提高整个系统的可靠性和快捷性。如图1.3所示为三层体系结构。图1.3三层体系结构1.4本章小结以上介绍的框架均为校友管理平台所使用的技术,因为SpringBoot具有开箱即用的优点,因此使用SpringBoot作为系统的Web框架,在数据库的选择上最后选择了MySQL数据库,MySQL数据库具有可移植性高,安装简单小巧。项目网络结构模式最后使用了目前主流的B/S架构。通过以上技术使得校友管理平台拥有更好的延展性、高效性、灵活性、可维护性,并且拥有高容错性、低成本、便于开发和维护的优点。2系统分析系统需求分析是该项目至关重要的一个环节,因为它具体且详细的介绍了项目的整体功能,同时其也是详细设计的基础和必要条件。需求分析的目的是规划软件目标、研究其可行性。本章的内容以前面章节介绍的技术作为基础,分析了校友管理平台在业务流程上的逻辑,并得出用户的需求,根据用户需求规划出系统的设计思路。再通过业务流程制定详细的用例图设计。这对于接下来的系统设计、项目开发和项目测试阶段会有所帮助,同时也会总结和归纳出用户的功能模块,确定系统的组成模块。2.1用例分析从用例模型分析模型的过程就是用例分析,即需求与设计之间需要桥梁进行承接,因此通过用例分析可以清楚的了解到用户的需求以及对应的系统架构,明确用户需求后才能有明确的目标,才能合理的规划出校友管理平台的开发步骤,然后把校友管理平台的需求运用到后续分析和设计中,从而完成一个系统而全面的工程化过程。图2.1校友管理平台总用例图图2.1所示为校友管理平台总用例图,本系统中的参与者、用例(UseCase),边界以及他们之间的关系构成。该用例图用于描述系统的所有功能,同时一目了然的呈现了校友管理平台各用户之间的关系以及各用户模块所包含的功能。图2.2管理员用例图图2.2所示为管理员用例图,展现的是管理员与其各个功能之间的关系,管理员可以使用的功能包括图中所示的全部用例信息,同时管理员拥有系统最高权限,可以对系统中的所有数据进行管理。图2.3校友用例图图2.3所示为校友用例图,展现的是校友与各个功能之间的关系,校友可以使用的功能包括图中所示的全部用例信息。2.2功能需求根据用户的需求分析出系统所包含的所有功能点,接着理清业务逻辑后确定功能的具体实现,并对功能进行模块划分,经过划分,校友管理平台共分为两大用户分别是管理员与校友。如表2.2.1所示为校友管理平台主要功能清单。表2.2.1校友管理平台主要功能清单功能编号功能名称备注01用户登录所有用户功能02用户退出所有用户功能03添加菜单信息管理员用户功能04查看菜单信息管理员用户功能05删除菜单信息管理员用户功能06批量删除菜单信息管理员用户功能07修改菜单信息管理员用户功能08添加用户信息管理员用户功能09查看用户信息管理员用户功能10删除用户信息管理员用户功能11批量删除用户信息管理员用户功能12修改用户信息管理员用户功能13查看日志记录管理员用户功能14删除日志记录管理员用户功能15批量删除日志管理员用户功能16查看专业信息管理员用户功能17添加专业信息管理员用户功能18修改专业信息管理员用户功能19删除专业信息管理员用户功能20批量删除专业信息管理员用户功能21查看学校信息管理员用户功能22添加学校信息管理员用户功能23删除学校信息管理员用户功能24批量删除学校信息管理员用户功能25修改学校信息管理员用户功能26查看学校专业信息管理员用户功能27添加学校专业信息管理员用户功能28删除学校专业信息管理员用户功能29批量删除学校专业信息管理员用户功能30查看校友信息管理员用户功能31查看校友详细信息管理员用户功能32查看校友认证信息管理员用户功能33校友认证管理员用户功能34查看校友删除申请管理员用户功能35申请通过管理员用户功能36驳回申请管理员用户功能37查看校友会信息管理员用户功能38添加校友会信息管理员用户功能39修改校友会信息管理员用户功能表2.1.1续页功能编号功能名称备注40删除校友会信息管理员用户功能41批量删除校友会信息管理员用户功能42查看活动信息管理员用户功能43创建活动信息管理员用户功能44删除活动信息管理员用户功能45编辑活动信息管理员用户功能46查看活动详情管理员用户功能47删除活动参与人员管理员用户功能48查看募捐信息管理员用户功能49发起募捐管理员用户功能50编辑募捐信息管理员用户功能51删除募捐信息管理员用户功能52查看募捐详情管理员用户功能53删除募捐记录管理员用户功能54查看校友信息校友用户功能55编辑校友信息校友用户功能56申请删除校友用户功能57查看详情校友信息校友用户功能58查看活动列表校友用户功能59参与活动校友用户功能60查看募捐列表校友用户功能2.3非功能需求软件除了要求功能达到用户的预期外,还需要对软件界面的呈现上以及外观上有所提升。因此该系统的前端页面在模板的选择上花费了大量人力进行甄选,选择到合适的模板后还需要对模板中的内容进行调整以便更加符合自己的业务需求,只有这样才能使用户在使用该软件的时候体验的优秀视觉和操作效果,以至于用户不会出现审美疲劳以及使用时感到劳累等。2.4本章小结本章介绍了校友管理平台在软件计划期间建立的软件可行性分析,分析各种可能出现的情况,其中还包括功能分析、系统功能关系视图分析和系统特性分析。经过这一阶段的工作,对整个系统的运作有了一个具体的思路和方法,使整个项目变得清晰,为接下来的工作打下了基础,可用于开展该项目的处理方案、开发并运行程序进行自查找错误的工作。3系统设计系统设计可分为概要设计和详细设计两个阶段。系统的概要设计主要是从总体上确定系统的设计方案、组成系统的模块以及模块之间的关系,同时进行数据库设计、实现计划和测试计划。详细设计的主要目的是确定每个软件元素应该如何被详细实现,包括软件过程设计等等。3.1系统概要设计对于系统架构的概要设计就是将一个整体的大模块分割成其所属的子模块,在将一个一个的子模块拼凑起来就是一个完整的系统功能设计。项目开发者对系统的需求有了完整、准确、具体的理解和描述。在整个设计过程中,为了确定每个小目标可能的具体场景,我们必须首先了解每个小目标的一些相关需求分析信息。然后,根据系统的要求,进行初步的功能设计,逐步完善系统,最后得出具体的可行的系统框架。3.1.1系统功能结构对于系统架构的整体设计而言,就是将用户的需求规划成一个个功能,并将这些功能组成系统的过程,在将一个个简单的功能组合连接使其变成完整的系统功能的过程中,开发者一定要对需求分析的信息进行详细的了解,尽可能的掌握每一个功能,即使再小的功能,再掌握了方案后就针对系统需求进行初步的功能设计,再对其进行逐步完善改进,最后得出具体的可行的系统框架。校友管理平台的模块划分分别为管理员模块、校友模块。管理员模块中包含系统管理模块、学校管理模块、校友管理模块、校友会管理模块,校友模块中包含校友管理模块、学校活动模块、个人资料模块,这些模块共同组成了该系统。如图3.1所示为系统结构图,其中在系统功能中分为管理员以及校友,管理员负责的模块中可以进行菜单的管理、用户管理、日志管理、专业管理、学校管理、校友信息管理、校友认证、删除申请、校友会管理、活动管理、募捐管理。校友负责的模块中可以进行信息管理、活动列表、募捐列表、校友资料的管理。图3.1系统结构图总体而言,校友模块和管理员模块通过业务功能可以互相访问,形成了一个更大的完整的系统,从而实现了用户的需求。管理员可以通过对数据库中的数据进行管理进而实现了整个系统的维护,从而提高了系统的安全性和稳定性。这样的功能设计完成了需求分析中对整个功能的需求,同时也达到了需求分析中对系统的可重用性、可扩展性、安全性等非功能需求。3.1.2软件体系结构在软件体系结构中该系统采用了Layui+SSM框架进行系统架构的搭建。Layui负责搭建一个与用户交流的界面平台。在使用SSM搭建后端框架的过程中对功能的实现进行了分层,分层后的后端结构为Controller层、Service层、Dao层。Controller层主要负责接收和响应用户请求,Service层负责对业务的处理,Dao层负责对数据库的增删改查操作。如图3.2所示为系统架构图。图3.2系统架构图3.2系统详细设计详细设计是系统架构设计的精华,详细设计的关键在于对系统需求的规格和架构设计。在详细设计中会对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法。其次,校友管理平台的详细设计主要包括一些重点的数据库设计和一些重点功能的详细设计。3.2.1数据库设计数据库设计在特定的数据库管理系统上依据使用者的需求来规划数据库构成和创建数据库的过程。数据库管理与项目开发是紧密相连的,只有设计出好数据库才能顺利并且快捷的对项目开发以及规划项目。完善的数据库设计能够使系统设计条例清晰,层次分明,分配好数据表存储的内容并且设计好主外键之间的联系,就可以在设计具体的项目时节省更多的时间和精力。并根据需求分析得到了一个E-R模型,此模型有18个关键抽象概念,如图3.3所示为系统总E-R图。图3.3系统总E-R图设计数据库时需要考虑全面,例如在建表之前要充分考虑表的结构,表与表之间的关系,以及表中的索引等。当需求发生变动时数据库的表结构也能做出快速的调整以适应新需求。校友管理平台的用户表是该平台最为重要的一张表,该表中保存着管理员以及校友注册的用户数据,管理员及用户通过该表中记录的账号及密码才能登陆校友管理平台从而进行其它功能的操作。同时该表中与其它表存在着主外键关系,该表中的数据也不能随便删除。如表3.4所示为system_user表。表3.4system_user表列名数据类型长度主键说明idint11是编号usernamevarchar32否用户名genderint2否性别rolevarchar32否角色phonevarchar11否手机号码emailvarchar64否邮箱nicknamevarchar32否昵称passwordvarchar255否密码校友管理平台的校友表中记录着校友的认证信息,该认证信息会被管理员所管理,当校友通过管理员的认证后该信息被永久保留,否则删除该信息,同时该校友信息与校友详细信息所绑定,该表同时也存在着主外键关系,表中的数据不能随便删除,删除数据时需要通过管理员的删除申请才可以删除。如表3.5所示为alumnus_alu表。表3.5alumnus_alu表列名数据类型长度主键说明idint11是编号alu_namevarchar32否校友名professionvarchar32否专业名enroldate0否入学时间school_namevarchar32否学校名student_picvarchar255否学生证照片is_approveint4否是否认证user_idint11否用户Id校友联络数据表记录着每一位校友近期的详细数据,该信息由校友进行填写,该信息与校友表中的数据一一对应,管理员可以通过查看校友联络数据中的信息确定当前校友的近期就业与生活情况。如表3.6所示为alumnus_liaison表。表3.6alumnus_liaison表列名数据类型长度主键说明idint11是编号phone_numvarchar32否电话号码education_experiencevarchar1000否教育经历working_conditionvarchar1000否工作情况business_conditionvarchar1000否业务情况hobbyvarchar500否爱好photovarchar255否照片emailvarchar255否邮箱alumnus_idint11否校友Id日志表中记录着每一位管理员及校友的所有操作信息,当管理员或校友对某条数据进行操作时,该操作会被记录到日志表中,以便其他管理员查看操作记录。如表3.7所示为system_log表。表3.7system_log表列名数据类型长度主键说明idint11是编号contentvarchar255否操作内容operation_datetimeDatetime0否操作时间typevarchar32否操作类型user_idint11否操作人Id菜单表中记录着当前系统中所有的菜单选项,管理员可以通过添加菜单来实现某个功能的添加,但前提是该功能必须已经开发完成。菜单表中记录着功能的请求地址,以及子菜单的父菜单Id与菜单对应的权限信息等。如表3.8所示为system_menu表。表3.8system_menu表列名数据类型长度主键说明idint11是编号textvarchar255否菜单名urlvarchar255否请求地址parent_idint11否父菜单Idpermission_idint11否权限Id3.2.2系统功能设计本章详细设计了系统的核心功能。在此过程中,需要绘制出核心功能操作的时序图,并且描述每个核心功能的实现方法。以下展示了该系统的核心功能。学校专业信息录入功能,管理员通过登录认证身份信息,进入管理员操作界面,选择学校管理模块中的学校管理,点击添加学校信息,添加完毕后在新添加的学校列表后有操作选项,选择专业会跳转到新的界面,在该界面点击添加专业即可为学校添加对应的专业信息。如图3.9所示为学校专业信息录入功能时序图。图3.9学校专业信息录入功能时序图根据图3.9所示的时序图能够看到学校专业信息录入功能的详细业务流程,管理员用户首先访问school/sch/list请求并转发到school_list.html页面,管理点击添加学校发送school/sch/add请求并转发到school_add.html页面,在添加完学校信息后重新请求school/sch/list,此时点击操作列表的专业按钮跳转到school/schPro/list请求转发的schPro_list页面,在该页面点击添加专业跳转到school/schPro/add对应的schPro_add页面,点击保存执行school/schPro/save请求保存专业信息后跳转的school/schPro/list请求转发的页面。设计过程描述如表3.10所示为学校专业信息录入功能描述。表3.10学校专业信息录入功能描述编号类名功能描述1school_list.html点击添加学校,保存学校信息2SchoolController在该类中执行save方法保存学校信息3schProService调用Mapper接口对数据库中的数据进行操作4SchProController在该类中执行save方法保存学校对应的专业信息活动管理功能,管理员通过登录认证身份信息,进入管理员操作界面,选择校友会管理模块中的活动管理功能,管理员通过点击创建活动,创建一条活动列表,在该列表后有查看操作,该操作查看当前活动的参与人员信息。如图3.11所示活动管理功能时序图。图3.11活动管理功能时序图根据图3.11所示的时序图能够看到活动管理功能的详细业务流程,管理员通过访问alumni/active/list请求转发到active_list页面,在该页面管理员点击创建活动按钮可以创建一条活动,活动创建完毕后管理员可以通过查看操作(alumni/active/search)查看活动参与人员。设计过程描述如表3.12所示为活动管理功能描述。表3.12活动管理功能描述编号类名功能描述1active_list.html在该页面管理员可以点击创建活动按钮创建活动2ActiveController该类的用于执行活动保存方法save与查看操作search3actAluService调用Mapper接口对数据库中的数据进行操作4ActAluController该类的作用是对当前活动的参与进行管理3.3本章小结本章介绍了校友管理平台的系统设计,主要分为概要设计和详细设计两部分。概要设计介绍了系统的功能结构和软件架构,并根据功能结构图和软件架构图进行了分析。详细设计则分别介绍数据库设计,系统功能设计,通过E-R图、以及时序图进行了分析,接下来将根据设计的情况完成本项目的系统实现。4系统实现系统的实现基于代码的编写以及系统的开发环境。系统的开发环境和硬件环境会影响着项目能否顺利运行。除了环境之外,系统的结构设计,模块设计,代码设计以及代码开发规范也对系统的实现起着至关重要的作用。4.1开发环境本系统使用了Windows10企业版64-bit操作系统,该操作系统为目前主流操作系统,界面简约好看,操作不复杂,操作环境好。本系统开发环境为CPU即Intel(R)Core(TM)i5-6300HQCPU@2.30GHz,内存为16GB,硬盘即238GSSD,浏览器即GoogleChrome;校友管理平台的开发工具为IntelliJIDEA2019.1.3,然后使用Tomcat9.0来进行程序的运行,使用MySQL数据库存储系统的数据。4.2开发规范代码的规范性和一致性使团队协作开发速度得到了提升同时也提高开发者对代码理解的清晰程度和改修代码的难易程度。代码的程序结构以及命名风格是开发系统时的重要环节,决定一个项目是否成立的关键一步。本节将对本系统的命名规范做一个大致的介绍。类的命名方法采纳单词首字母大写的方式命名。整个管理系统项目命名使用Java通用命名规范,包名分别为top.daiding.king.*(controller、mapper、model、service和common)。4.3数据库实现MySQL作为该系统的开发数据库,数据表名为king,根据业务需求分别创建了18张数据表,分别为活动校友表(active_alumnus)、校友会活动表(alumni_active)、校友会表(alumni_cre)、校友会募捐表(alumni_ribution)、校友表(alumnus_alu)、校友删除表(alumnus_del)、校友联络表(alumnus_liaison)、权限表(permission)、募捐校友表(ribution_alumnus)、角色表(role)、角色权限表(role_permission)、学校专业表(sch_pro)、专业表(school_profession)、学校表(school_sch)、日志表(system_log)、菜单表(system_menu)、用户表(system_user)、用户角色表(user_role)。如图4.1所示为数据表。图4.1数据表4.4核心功能实现4.4.1学校专业信息录入功能如图4.2所示为学校信息录入页面,管理员通过登录认证身份信息,进入管理员操作界面,选择学校管理模块中的学校管理,点击添加学校信息,添加完毕后在新添加的学校列表后有操作选项,选择专业会跳转到新的界面,在该界面点击添加专业即可为学校添加对应的专业信息。图4.2学校信息录入页面@Controller@RequestMapping("school/schPro")publicclassSchProController{@AutowiredprivateSchProServiceschProService;@AutowiredprivateProfessionServiceprofessionService;@GetMapping("list/{id}")publicStringlist(@PathVariableIntegerid,Modelmodel){List<SchPro>schPros=schProService.searchProfessionsBySchoolId(id);model.addAttribute("schPros",schPros);//添加学校Idmodel.addAttribute("schoolId",id);return"school/schPro_list";}@GetMapping("add/{id}")publicStringadd(@PathVariableIntegerid,Modelmodel){//将学校Id存于request域model.addAttribute("schoolId",id);//获取专业信息List<Profession>professions=professionService.searchAll();model.addAttribute("professions",professions);return"school/schPro_add";}@PostMapping("save")@ResponseBodypublicStringsave(@RequestBodyJSONObjectjsonObject){JSONObjectfield=jsonObject.getJSONObject("field");SchProschPro=field.toJavaObject(SchPro.class);returnschProService.addSchPro(schPro);}@DeleteMapping("delete/{id}")@ResponseBodypublicStringdelete(@PathVariable("id")intid){returnschProService.removeSchProById(id);}}4.4.2活动管理功能活动管理功能,管理员通过登录认证身份信息,进入管理员操作界面,选择校友会管理模块中的活动管理功能,管理员通过点击创建活动,创建一条活动列表,并查看当前活动的参与人员信息。如图4.3所示为活动管理页面,核心代码如下文所示。图4.3活动管理页面@Controller@RequestMapping("alumni/active")publicclassActiveController{@AutowiredprivateActiveServiceactiveService;@AutowiredprivateSchoolServiceschoolService;@GetMapping("list")publicStringlist(Modelmodel){List<Active>actives=activeService.searchAll();model.addAttribute("actives",actives);return"alumni/active_list";}@GetMapping("add")publicStringadd(Modelmodel){List<School>schools=schoolService.searchAll();model.addAttribute("schools",schools);return"alumni/active_add";}@PostMapping("save")@ResponseBodypublicStringsave(@RequestBodyJSONObjectjsonObject){JSONObjectfield=jsonObject.getJSONObject("field");Activeactive=field.toJavaObject(Active.class);Useruser=(User)SecurityUtils.getSubject().getPrincipal();active.setUserId(user.getId());returnactiveService.addActive(active);}@DeleteMapping("delete/{id}")@ResponseBodypublicStringdelete(@PathVariable("id")intid){returnactiveService.removeActiveById(id);}@GetMapping("edit/{id}")publicStringedit(@PathVariableintid,Modelmodel){Activeactive=activeService.searchActiveById(id);model.addAttribute("active",active);return"alumni/active_edit";}@PutMapping("update")@ResponseBodypublicStringupdate(@RequestBodyJSONObjectjsonObject){JSONObjectfield=jsonObject.getJSONObject("field");Activeactive=field.toJavaObject(Active.class);returnactiveService.modifyActiveById(active);}}4.5本章小结本章主要详细介绍了项目开发阶段的开发环境及编码规范,并列举展示了部分核心功能如学校专业录入功能与活动管理功能的实现界面及核心代码。对于整个项目的实现到这里已经圆满的完成,接下来将开始项目测试的工作。5系统测试测验不局限于系统开发的一个阶段。在系统开发中开始运转。据调查,测试速度越快,测试执行的频率越高,软件开发的成本越低,极端的刺激也把实验提升到了极限。所有的软件开发活动都必须从最初开始制定测试代码。性能评估是系统的重要功能。然而,必须要记住软件测试是站在用户的位置为出发点。一般来说,在保证系统品质和可用性的前提下,为了满足用户的使用要求,有必要提升系统的使用感[18]。本章对学生宿舍管理系统的功能模块进行了测试,来确保系统运行平稳,让使用者感到满意。5.1测试计划在校友管理平台研发完成后,需要对系统进行全面的测试以验收系统的质量。在开发系统的过程中,语句语法错误、标点符号的错误都有可能出现,当系统正常运行时会给出提示,并请求解决,这些问题在编程的过程中,是容易被发现的。但是有的错误隐蔽性强,因此需要对整个系统进行详细的系统测试。首先对系统的系统信息管理进行测试,其次对人员信息管理进行测试,再对宿舍信息管理进行测试,最后对消息提醒功能进行测试。为了测试学生宿舍管理系统的完善性,在系统测试过程中,对系统的功能进行了详细的测试,以真实反映系统的功能。经过重复测试和调试,对隐藏的问题进行了测试,最终提高了系统的稳定性。5.2测试用例在系统开发的过程中需要面对很多问题,在软件的生命周期中都极有可能存在错误而未被发现。测试目的就在于:发现错误而执行一个程序的过程。此系统可以在本地服务器上进行运行和调试,在调试的过程中发现错误,以便于改正存在得错误,如图5.1所示为测试阶段信息流程图。图5.1测试阶段信息流程图系统进行信息的添加时,需要输入信息,系统才提示添加成功。当不想要这条信息时按删除按钮即清除该条信息。点击修改按钮可以修改当条信息。选择查找的信息条件即可查找到要查找的信息。如表5.2所示为系统增删改查测试。 表5.2系统增删改查测试测试序号用例说明预期结果测试结果1添加信息时,填入必需填写的信息提示添加成功通过2添加信息时,未填入必需填写的信息提示填写的信息内容不能为空通过3添加信息时,填入的信息名称重复提示同名信息已存在通过4修改信息时,填入想要修改的信息内容提示保存成功通过5删除信息时,点击删除按钮,出现删除提示后点击确定提示删除成功通过6查找信息时,输入想要查询的条件显示出符合条件所有信息通过经过测试系统的各个功能,验证了校友管理平台能够为用户提供信息管理服务,从表中所示的功能测试用例及结果可以分析出,关于校友管理平台的各项功能实现以及输入验证,其实际结果都能够达到预期结果,说明这些功能能够满足需求分析所设计的功能需求。其次还要在不同环境和大量的数据量下测试一下系统在具体功能实现时所表现的状态如何。性能测试概括为三个方面即应用在客户端的性能测试、应用在网络上的性能测试和应用在服务器端的性能测试。性能测试主要是针对系统在一定规模数据量以及在特殊环境中指标。性能测试主要是考验系统在极限环境下进行运行时的效率情况,主要针对当遇到数据量更大的时候系统的运行效率。表5.3为系统性能测试用例表。表5.3系统性能测试用例表序号考察项响应时间结果1打开系统页面时间<0.5s通过2跳转页面响应时间<1s通过3对模板的增删查改响应时间<0.5s通过4CPU使用率<70%通过5内存使用率<90%通过5.3压力测试本文选择使用ApacheJMeter作为压力测试工具,在配置好ApacheJMeter后,使用ApacheJMeter的添加图形组件,此组件可以清晰地显示出系统吞吐量、平均值、中值等数据,其他监听器组件可自由添加。完成基本配置后开始测试。等待测试线程数量达到1000,即所有线程均已开始测试工作,并且曲线稳定后才观测结果,如图5.4所示为系统压力侧视图。图5.4系统压力测试图随着时间的增加,偏离量会逐渐偏高,吞吐量快开始为上升,当到达一定界限后也会下降,但是依照图来看总体吞吐量还是非常可观的。经过多次测试,得到结论为大概50000线程时系统吞吐量会急剧下降。但是这个结果还受限于网络、用户操作等因素,只是理论值,不过此符合需求。5.4测试结果“校友管理平台”压力测试图形结果反映出的是系统响应时间情况。本次测试总共向服务器发出的请求数目是3000,服务器最后一个响应的时间为68ms,系统平均响应时间为64886ms,偏离值即代表离散程度测量值的大小(数据分布)为69086ms,服务器每分钟处理的请求数目为825.177,响应时间中值为32982ms,系统有一半的服务器响应时间低于该值而另一半高于该值。严格测试系统功能的各个模块来确认系统可以正常运行,在特定环境下也需要考虑周全对其进行测试,每个功能板块测试的效果都满足了用户的需求,该系统完全通过测试并运行平稳,用户可以放心使用。5.5本章小结本章主要叙述了本系统在检查调试过程中需要完成的工作,主要是介绍该管理系统的测试的范围,方法以及需要提前做的准备工作、还有在测试过程中的测试输入、条件、以及测试最后所达到的效果,经过系统检查调试使系统更适合用户的需求,更加稳定可靠地运行,并能适应市场竞争,应用前景广泛。

结论校友管理平台的开发是高效校友工作普遍面临人员不足、资源有限等困境提出的解决方案,其方便快捷的执行对于管理员管理校友信息具有重要的意义。因此,本文针对各高校对校友管理平台的迫切需求,完成设计了校友管理平台。本文所讲述的校友管理平台尚未应用在现实中,不过已初步满足毕设的要求。本系统在设计与实现的过程中充分考虑了本系统在未来所发展的方向以及所有能用到的功能,扩展了其系统的事物处理,考虑了该系统的全面性和可发展性。在未来开发中代码可以二次利用,可应用技术效果好。实际应用效果说明了宿舍管理系统功能设计的有效性。本系统的设计与实现有效的提高了社会应用的控制成本管理,增强了可持续性发展的特点,对于其他的应用功能具有广泛的借鉴意义和参考价值。由于社会扩展需求增多,本文系统还存在一定的不足。该系统的后续发展探索研究,可以考虑会重点考虑以下两点:第一点该系统目前主要是便利校友管理,随着使用量增加,数据量不断积累,后续可对数据进行深入分析,对一些可能性事务做预测分析。第二点随着该系统使用量的普及,后续可对信息资源共享中存在的网络风险进行评估分析。致谢在本次论文设计过程中,感谢学校提供一次这样的学习机会,更加感谢从始至终一直悉心指导并给予我帮助的指导教师李佳佳老师和倪春雨老师。不论毕业设计还是论文书写阶段研究工作都是在李佳佳老师和倪春雨老师的细心指导下完成的,每一阶段都会与老师进行有关毕设项目的探讨与论文细节的修改,李佳佳老师和倪春雨老师总是能够给予我很多建设性的意见,使我受益匪浅。感谢所有授业解惑的老师,如果没有这四年的知识沉淀,相信毕设与论文完成的不会这么顺利,也正是因为这四年,得到了学识与内

温馨提示

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

评论

0/150

提交评论