毕业设计(论文)-springboot教材订购系统设计_第1页
毕业设计(论文)-springboot教材订购系统设计_第2页
毕业设计(论文)-springboot教材订购系统设计_第3页
毕业设计(论文)-springboot教材订购系统设计_第4页
毕业设计(论文)-springboot教材订购系统设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文(设计)题目springboot教材订购系统学院XXXXX专业班级XXXXX用户姓名XXXX指导教师XXXX撰写日期:2022年5月10日目录TOC\o"1-3"\h\u摘要 摘要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对教材订购系统等问题,对教材订购系统进行研究分析,然后开发设计出教材订购系统以解决问题。教材订购系统主要功能模块包括用户管理、教材类型、教材信息、进书单、购书单、领书单,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用springboot框架、JAVA技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对教材订购系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现教材订购系统和部署运行使用它。关键词:springboot技术;MYSQL;教材订购系统AbstractIntheinformationsociety,thereisaneedfortargetedinformationaccess,buttheexpansionofaccessisbasicallythedirectionofpeople'sefforts.Duetothedeviationoftheperspective,peoplecanoftenobtaindifferenttypesofinformation,whichisalsothemostdifficultsubjectfortechnologytoovercome.Aimingattheproblemsoftextbookorderingsystem,thispaperstudiesandanalyzesthetextbookorderingsystem,andthendevelopsanddesignsthetextbookorderingsystemtosolvetheproblems.Themainfunctionalmodulesofthetextbookorderingsystemincludeusermanagement,textbooktype,textbookinformation,bookentrylist,bookpurchaselistandBookreceivinglist.Theobject-orienteddevelopmentmodeisadoptedforsoftwaredevelopmentandhardwareerection,whichcanwellmeettheneedsofactualuse,improvethecorrespondingsoftwareerectionandprogramcoding,takeMySQLasthemainstorageunitofbackgrounddata,andadoptspringbootframework,JavatechnologyAjaxtechnologyencodesanddevelopsthebusinesssystem,andrealizesallthefunctionsofthesystem.Thisreportfirstanalyzesthebackground,functionandsignificanceoftheresearch,whichlaysafoundationfortherationalityoftheresearchwork.Thispaperanalyzestherequirementsandtechnicalproblemsofthetextbookorderingsystem,provesthenecessityandtechnicalfeasibilityofthesystem,andthenmakesabasicintroductiontothetechnicalsoftwareanddesignideasneededtodesignthesystem.Finally,itrealizesthetextbookorderingsystemanddeploysit.Keywords:Springboottechnology;MYSQL;Textbookorderingsystem1绪论1.1选题背景随着高校办学规模的扩展,管理方式和管理效率的矛盾日渐突出。在教材订购方面,手工管理方式和文档系统管理方式在管理质量和管理效率上,从根本.上不能适应大规模的管理要求。而随着计算机科学的发展与进步,计算机科学管理方式,不管在管理效率还是在管理质量上都逐步显示了它的可靠性和优越性。而且计算机管理在人力、物力等资源方面都比以前的管理模式要有大的节省。计算机管理正以它自身的优越性成为管理模式中的主流。教材订购管理系统采用计算机管理模式的必然性也在与此!本系统以学校为背景,

在认真调研和分析了学校订购教材的现状之后,根据用户的需求和各个功能的关系,做出了积极的设计方案。在新的管理资源和管理模式上,一定能使工作质量、工作效率等得到提高,推动学校发展的步伐!1.2开发现状目前我国各行各业的信息化建设都在迅速发展,而高校作为一个特殊群体,其教学和科研也正逐步向数字化方向迈进。因此对教育行业而言,建立一套适合学校特点的教材订购管理系统已成为当务之急。本文结合当前高等院校教材管理的实际情况,设计并实现了一款基于B/S模式的面向全校教师的教材订购管理信息系统。该系统采用先进的数据库技术及Web开发工具,以springboot为平台进行编程,具有操作简单、使用方便等优点,能有效提高工作效率;同时通过对系统功能需求分析与总体设计以及具体模块详细设计与实现,达到了预期效果。本论文主要工作包括以下几个方面:研究并分析了国内外教材订购管理系统的发展趋势和相关理论,提出了一种适用于本校教学要求的新型教材订购管理模式,即“统一计划一分级控制”的新模式,从而构建了一个符合我校特色的教材采购管理系统模型。从系统分析入手,确定了系统目标,然后按照软件工程方法对系统进行了功能分析和用例分析。根据所要解决的问题,利用springboot框架,Java语言,结合MySQL数据库技术,完成了系统的总体架构和各个功能模块设计。最后,对系统各部分的运行结果作了简要介绍和总结。本教材订购管理系统是一个针对校内师生的信息管理系统,它将为广大教师提供高效便捷的信息查询服务,使他们能够更及时地获得自己需要的各类资料。本教材订购管理系统不仅可以方便采购人员随时查阅自己感兴趣的各种书籍资源,而且还可帮助老师快速掌握最新的教学动态,从而更好地为教学工作服务。1.3系统开发技术的特色(1)教材订购系统中的web后台管理中的后端不再使用古老的jsp+javabean+servlet技术,而是使用当前主流的springboot框架,它减少java配置代码,简化编程代码,目前springboot框架也是很多企业选择的框架之一。(2)教材订购系统中的web后台管理中的前端使用的是JavaScript框架,它配合ajax[8]和jquery[9]可以美化页面设计。(3)教材订购系统中数据库用的mysql5.7,它执行效率高。1.4论文结构与章节安排论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:第一章:引言。第一章主要介绍了课题研究的背景,系统开发的现状和本文的开发现状与主要工作。第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试第六章:总结。2教材订购系统分析系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。2.1可行性分析(1)经济可行性:在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。所以经济可行性没有问题。(2)操作可行性:此次项目设计参考了几个该模式下网站的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。(3)技术可行性:技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。现有的springboot技术能够迎合所有电子商务系统的搭建。开发这个教材订购系统的时候我采用了springboot+MYSQL用以运行整体程序。综上所述技术可行性也没有问题。(4)法律可行性:从开发者角度来看,springboot和MYSQL是网上开源且免费的,在知识产权方面不会产生任何法律纠纷。从用户使用角度来看,只要不再系统上贩卖违禁品,对系统做出条约协议,杜绝非法支付即可。综上所述法律可行性也没有问题。2.2系统流程分析业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。2.2.1数据增加流程用户成功登入系统后就能够实现增加数据的操作,增加数据的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证合法通过就显示增加数据成功了,相反的话,就没有增加成功,图2-1显示的就是在增加数据时的流程。图2-1数据增加流程图2.2.2数据修改流程数据修改时的流程和上面介绍的数据增加时的流程差不多,如图2-2所示。图2-2数据修改流程图2.2.3数据删除流程如果系统里面存在一些没有用的数据的话,相关的管理人员还可以对这些数据进行删除,图2-3就是数据删除时的流程图。图2-3数据删除流程图2.3系统功能分析2.3.1功能性分析按照教材订购系统的角色,我划分为了教师管理模块、发行人员管理模块、采购人员管理模块和管理员管理模块这四大部分。采购人员管理模块:(1)采购人员注册登录:采购人员注册为采购人员并登录教材订购系统;采购人员对个人信息的增删改查,比如个人资料,密码修改。(2)查看教材订购系统的首页信息:教材订购系统的首页信息包含了首页、公告消息、教材信息、我的(我的账户、个人中心)等。(3)公告栏:用户在公告这一菜单下对用户提交的查看、同时也可以发布、评论。(4)教材信息:在首页导航栏上我们会看到“教材信息”这一菜单,我们点击进入进去以后,会看到所有管理员在后台发布的教材信息,我们选择想要了解教材的购买,查看教材信息,可以购买+评论;(5)个人中心:当用户点击右上角“我的”这个按钮,就会进入到对应的后台进行信息的管理了;(6)我的账户:当用户点击右上角“我的”这个按钮,会出现子菜单,点击“我的账户”可以对个人的资料以及登录系统的密码进行设置;教师管理模块:(1)更多管理:在“更多管理”这一菜单下,可以对教师操作的教材信息+购书单+领书单等增删改查。管理员管理模块:(1)登录:管理员的账号是在数据表表中直接设置生成的,不需要进行注册;(2)用户管理:当点击“用户管理”这一菜单的时候,会出现管理员+发行人员+教师+采购人员四个子菜单,可以对这四个模块进行增删改查操作;(3)更多管理:当点击“更多”这一菜单的时候,会出现教材信息+教材类型+进书单+购书单+领书单这五个子菜单,能够对教材信息进行增删改查操作,对发行人员和教师提交的购书单+领书单进行管控,以及实现对采购人员提交的领书单进行审核管理;(4)站点管理:管理员可以对教材订购系统中首页显示的轮播图以及系统中的一些公告发布到系统当中,让用户及时的查看到系统信息,进行合理安排。2.3.2非功能性分析教材订购系统的非功能性需求比如教材订购系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:表3-SEQ表3\*ARABIC1教材订购系统非功能需求表安全性主要指教材订购系统数据库的安装,数据库的使用和密码的设定必须合乎规范。可靠性可靠性是指教材订购系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。性能性能是影响教材订购系统占据市场的必要条件,所以性能最好要佳才好。可扩展性比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。易用性用户只要跟着教材订购系统的页面展示内容进行操作,就可以了。可维护性教材订购系统开发的可维护性是非常重要的,经过测试,可维护性没有问题2.4系统用例分析通过2.3功能的分析,得出了本教材订购系统的用例图:采购人员角色用例如图2-3所示。图2-3教材订购系统采购人员角色用例图web后台管理上的管理员是维护整个教材订购系统中所有数据信息的。管理员角色用例如图2-4所示。图2-4教材订购系统管理员角色用例图2.5本章小结本章主要通过对教材订购系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个教材订购系统要实现的功能。同时也为教材订购系统的代码实现和测试提供了标准。3教材订购系统总体设计本章主要讨论的内容包括教材订购系统的功能模块设计、数据库系统设计。3.1系统架构设计本教材订购系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。图3-1教材订购系统系统架构设计图表现层(UI):又称UI层,主要完成本教材订购系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本教材订购系统时的舒适度。UI的界面设计也要适应不同版本的教材订购系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。业务逻辑层(BLL):主要完成本教材订购系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。数据层(DL):由于本教材订购系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本教材订购系统的数据存储和管理功能。3.2系统功能模块设计3.2.1整体功能模块设计在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本教材订购系统中的用例。那么接下来就要开始对本教材订购系统的架构、主要功能和数据库开始进行设计。教材订购系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。图3-2教材订购系统功能模块图3.2.2用户模块设计后台管理者能够实现对前台注册的用户增删改查操作,用户模块结构图如下图:图3-3用户用户模块结构图3.2.3评论管理模块设计教材订购系统是一个交流性质的公开平台,用户用户和管理人员用户可以对平台上信息进行评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:图3-4评论模块结构图3.3数据库设计数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。3.3.1数据库概念结构设计下面是整个教材订购系统中主要的数据库表总E-R实体关系图。图3-6教材订购系统总E-R关系图下面根据教材订购系统的数据库总E-R关系图可以得出教材订购系统需要很多E-R图,在此罗列出来一些主要的数据库E-R模型图。图3-7教师信息E-R关系图图3-8教材信息E-R关系图图3-9进书单E-R关系图图3-10购书单E-R关系图3.3.2数据库逻辑结构设计通过上一小节中教材订购系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。textbook_type表:名称类型长度不是null主键注释textbook_type_idint11是是教材类型IDtextbook_typevarchar64否否教材类型recommendint11是否智能推荐create_timedatetime0是否创建时间update_timetimestamp0是否更新时间textbook_information表名称类型长度不是null主键注释textbook_information_idint11是是教材信息IDbook_namevarchar64否否书籍名称book_numbervarchar64否否书籍编号textbook_typevarchar64否否教材类型book_cover_varchar255否否书籍封面book_inventoryint11否否书籍库存book_priceint11否否书籍价格issuerint11否否发行人员name_of_issuervarchar64否否发行人姓名book_introductiontext0否否书籍简介hitsint11是否点击数recommendint11是否智能推荐create_timedatetime0是否创建时间update_timetimestamp0是否更新时间teacher表:名称类型长度不是null主键注释teacher_idint11是是教师IDteacher_namevarchar64否否教师姓名teacher_gendervarchar64否否教师性别examine_statevarchar16是否审核状态recommendint11是否智能推荐user_idint11是否用户IDcreate_timedatetime0是否创建时间update_timetimestamp0是否更新时间purchasing_personnel表名称类型长度不是null主键注释purchasing_personnel_idint11是是采购人员IDname_of_purchaservarchar64否否采购人姓名purchaser_gendervarchar64否否采购人性别examine_statevarchar16是否审核状态recommendint11是否智能推荐user_idint11是否用户IDcreate_timedatetime0是否创建时间update_timetimestamp0是否更新时间issuer表:名称类型长度不是null主键注释issuer_idint11是是发行人员IDname_of_issuervarchar64否否发行人姓名issuer_gendervarchar64否否发行人性别examine_statevarchar16是否审核状态recommendint11是否智能推荐user_idint11是否用户IDcreate_timedatetime0是否创建时间update_timetimestamp0是否更新时间comment表:名称类型长度不是null主键注释comment_idint11是是评论IDuser_idint11是否评论人IDreply_to_idint11是否回复评论IDcontentlongtext0否否内容nicknamevarchar255否否昵称avatarvarchar255否否头像地址create_timetimestamp0是否创建时间update_timetimestamp0是否更新时间source_tablevarchar255否否来源表source_fieldvarchar255否否来源字段source_idint10是否来源IDbook_requisition表:名称类型长度不是null主键注释book_requisition_idint11是是领书单IDorder_numbervarchar64否否订单号book_namevarchar64否否书籍名称book_numbervarchar64否否书籍编号textbook_typevarchar64否否教材类型quantity_receivedint11否否领取数量receive_teachersint11否否领取教师teacher_namevarchar64否否教师姓名collection_datedate0否否领取日期purchasing_personnelint11否否采购人员name_of_purchaservarchar64否否采购人姓名examine_statevarchar16是否审核状态recommendint11是否智能推荐create_timedatetime0是否创建时间update_timetimestamp0是否更新时间book_purchase_order表:名称类型长度不是null主键注释book_purchase_order_idint11是是购书单IDorder_numbervarchar64否否订单号book_namevarchar64否否书籍名称book_numbervarchar64否否书籍编号textbook_typevarchar64否否教材类型book_pricevarchar64否否书籍价格purchase_quantityint11否否购买数量total_amountvarchar64否否合计金额purchasing_personnelint11否否采购人员name_of_purchaservarchar64否否采购人姓名purchase_datedate0否否购买日期issuerint11否否发行人员name_of_issuervarchar64否否发行人姓名pay_statevarchar16是否支付状态pay_typevarchar16否否支付类型recommendint11是否智能推荐create_timedatetime0是否创建时间update_timetimestamp0是否更新时间book_entry_list表:名称类型长度不是null主键注释book_entry_list_idint11是是进书单IDbook_namevarchar64否否书籍名称book_numbervarchar64否否书籍编号textbook_typevarchar64否否教材类型warehousing_datedate0否否入库日期receipt_quantityint11否否入库数量issuerint11否否发行人员name_of_issuervarchar64否否发行人姓名recommendint11是否智能推荐create_timedatetime0是否创建时间update_timetimestamp0是否更新时间3.4本章小结整个教材订购系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。4教材订购系统详细设计与实现教材订购系统的详细设计与实现主要是根据前面的教材订购系统的需求分析和教材订购系统的总体设计来设计页面并实现业务逻辑。主要从教材订购系统界面实现、业务逻辑实现这两部分进行介绍。4.1用户功能模块4.1.1前台首页界面当进入教材订购系统的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,其主界面展示如下图4-1所示。图4-1前台首页界面图4.1.2采购人员登录界面教材订购系统中的前台上注册后的采购人员是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到教材订购系统的首页中;否则将会提示相应错误信息,采购人员登录界面如下图4-2所示。图4-2采购人员登录界面图登录关键代码如下所示。/***登录*@paramdata*@paramhttpServletRequest*@return*/@PostMapping("login")publicMap<String,Object>login(@RequestBodyMap<String,String>data,HttpServletRequesthttpServletRequest){("[执行登录接口]");Stringusername=data.get("username");Stringemail=data.get("email");Stringphone=data.get("phone");Stringpassword=data.get("password");ListresultList=null;Map<String,String>map=newHashMap<>();if(username!=null&&"".equals(username)==false){map.put("username",username);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(email!=null&&"".equals(email)==false){map.put("email",email);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(phone!=null&&"".equals(phone)==false){map.put("phone",phone);resultList=service.select(map,newHashMap<>()).getResultList();}else{returnerror(30000,"账号或密码不能为空");}if(resultList==null||password==null){returnerror(30000,"账号或密码不能为空");}//判断是否有这个用户if(resultList.size()<=0){returnerror(30000,"用户不存在");}UserbyUsername=(User)resultList.get(0);Map<String,String>groupMap=newHashMap<>();groupMap.put("name",byUsername.getUserGroup());ListgroupList=userGroupService.select(groupMap,newHashMap<>()).getResultList();if(groupList.size()<1){returnerror(30000,"用户组不存在");}UserGroupuserGroup=(UserGroup)groupList.get(0);//查询用户审核状态if(!StringUtils.isEmpty(userGroup.getSourceTable())){Stringsql="selectexamine_statefrom"+userGroup.getSourceTable()+"WHEREuser_id="+byUsername.getUserId();Stringres=String.valueOf(service.runCountSql(sql).getSingleResult());if(res==null){returnerror(30000,"用户不存在");}if(!res.equals("已通过")){returnerror(30000,"该用户审核未通过");}}//查询用户状态if(byUsername.getState()!=1){returnerror(30000,"用户非可用状态,不能登录");}Stringmd5password=service.encryption(password);if(byUsername.getPassword().equals(md5password)){//存储Token到数据库AccessTokenaccessToken=newAccessToken();accessToken.setToken(UUID.randomUUID().toString().replaceAll("-",""));accessToken.setUser_id(byUsername.getUserId());tokenService.save(accessToken);//返回用户信息JSONObjectuser=JSONObject.parseObject(JSONObject.toJSONString(byUsername));user.put("token",accessToken.getToken());JSONObjectret=newJSONObject();ret.put("obj",user);returnsuccess(ret);}else{returnerror(30000,"账号或密码不正确");}}4.1.3采购人员注册界面不是教材订购系统中正式采购人员的是可以在线进行注册的,如果你没有本教材订购系统的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可采购人员注册成功。其用采购人员注册界面展示如下图4-3所示。图4-2采购人员注册界面图注册关键代码如下所示。/***注册*@paramuser*@return*/@PostMapping("register")publicMap<String,Object>signUp(@RequestBodyUseruser){//查询用户Map<String,String>query=newHashMap<>();query.put("username",user.getUsername());Listlist=service.select(query,newHashMap<>()).getResultList();if(list.size()>0){returnerror(30000,"用户已存在");}user.setUserId(null);user.setPassword(service.encryption(user.getPassword()));service.save(user);returnsuccess(1);}/***用户ID:[0,8388607]用户获取其他与用户相关的数据*/@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="user_id")privateIntegeruserId;/***账户状态:[0,10](1可用|2异常|3已冻结|4已注销)*/@Basic@Column(name="state")privateIntegerstate;/***所在用户组:[0,32767]决定用户身份和权限*/@Basic@Column(name="user_group")privateStringuserGroup;/***上次登录时间:*/@Basic@Column(name="login_time")privateTimestamploginTime;/***手机号码:[0,11]用户的手机号码,用于找回密码时或登录时*/@Basic@Column(name="phone")privateStringphone;/***手机认证:[0,1](0未认证|1审核中|2已认证)*/@Basic@Column(name="phone_state")privateIntegerphoneState;/***用户名:[0,16]用户登录时所用的账户名称*/@Basic@Column(name="username")privateStringusername;/***昵称:[0,16]*/@Basic@Column(name="nickname")privateStringnickname;/***密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成*/@Basic@Column(name="password")privateStringpassword;/***邮箱:[0,64]用户的邮箱,用于找回密码时或登录时*/@Basic@Column(name="email")privateStringemail;/***邮箱认证:[0,1](0未认证|1审核中|2已认证)*/@Basic@Column(name="email_state")privateIntegeremailState;/***头像地址:[0,255]*/@Basic@Column(name="avatar")privateStringavatar;/***创建时间:*/@Basic@Column(name="create_time")@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")privateTimestampcreateTime;@Basic@TransientprivateStringcode;}4.1.4公告栏界面当点击导航栏上的“公告栏”的时候,就会进入对应的界面查看公告信息,公告栏界面如下图4-4所示。图4-3公告栏界面图4.1.5教材详情界面当访客点击了任意教材后将会进入该教材的详情界面,可以了解到该教材的书籍名称、书籍编号、教材类型、书籍库存、书籍价格、发行人员、发行人姓名等,同时可以对该教材进行购买,教材详情展示页面如图4-5所示。图4-5教材详情界面图4.2管理员功能模块4.2.1用户管理界面教材订购系统中的管理人员是可以对前台注册的采购人员、教师、发行人员进行管理的,也可以对管理员进行管控。界面如下图4-6所示。图4-6用户管理界面图用户管理关键代码如下所示。publicStringencryption(StringplainText){Stringre_md5=newString();try{MessageDigestmd=MessageDigest.getInstance("MD5");md.update(plainText.getBytes());byteb[]=md.digest();inti;StringBufferbuf=newStringBuffer("");for(intoffset=0;offset<b.length;offset++){i=b[offset];if(i<0)i+=256;if(i<16)buf.append("0");buf.append(Integer.toHexString(i));}re_md5=buf.toString();}catch(Exceptione){e.printStackTrace();}returnre_md5;}4.2.2站点管理界面教材订购系统中的管理人员在“站点管理”这一菜单中是可以对前台显示的轮播图以及公告栏进行管控。界面如下图4-7所示。图4-7站点管理界面图站点管理关键代码如下所示。@PostMapping("/add")@TransactionalpublicMap<String,Object>add(HttpServletRequestrequest)throwsIOException{service.insert(service.readBody(request.getReader()));returnsuccess(1);}@TransactionalpublicMap<String,Object>addMap(Map<String,Object>map){service.insert(map);returnsuccess(1);}publicMap<String,Object>readBody(BufferedReaderreader){BufferedReaderbr=null;StringBuildersb=newStringBuilder("");try{br=reader;Stringstr;while((str=br.readLine())!=null){sb.append(str);}br.close();Stringjson=sb.toString();returnJSONObject.parseObject(json,Map.class);}catch(IOExceptione){e.printStackTrace();}finally{if(null!=br){try{br.close();}catch(IOExceptione){e.printStackTrace();}}}returnnull;}publicvoidinsert(Map<String,Object>body){StringBuffersql=newStringBuffer("INSERTINTO");sql.append("`").append(table).append("`").append("(");for(Map.Entry<String,Object>entry:body.entrySet()){sql.append("`"+humpToLine(entry.getKey())+"`").append(",");}sql.deleteCharAt(sql.length()-1);sql.append(")VALUES(");for(Map.Entry<String,Object>entry:body.entrySet()){Objectvalue=entry.getValue();if(valueinstanceofString){sql.append("'").append(entry.getValue()).append("'").append(",");}else{sql.append(entry.getValue()).append(",");}}sql.deleteCharAt(sql.length()-1);sql.append(")");("[{}]-插入操作:{}",table,sql);Queryquery=runCountSql(sql.toString());query.executeUpdate();}4.2.3更多管理界面教材订购系统中的管理人员在“更多管理”这一菜单下是可以对教材订购系统内的教材信息、教材类型、进书单、领书单、购书单计进行管控的,其管理界面如下图4-8所示。图4-8更多管理界面图更多管理关键代码如下所示。@RequestMapping(value="/del")@TransactionalpublicMap<String,Object>del(HttpServletRequestrequest){service.delete(service.readQuery(request),service.readConfig(request));returnsuccess(1);}@Transactionalpublicvoiddelete(Map<String,String>query,Map<String,String>config){StringBuffersql=newStringBuffer("DELETEFROM").append("`").append(table).append("`").append("");sql.append(toWhereSql(query,"0".equals(config.get(FindConfig.GROUP_BY))));("[{}]-删除操作:{}",table,sql);Queryquery1=runCountSql(sql.toString());query1.executeUpdate();}5系统测试5.1系统测试的目的 系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。5.2系统测试用例系统测试包括:用户登录功能测试、教材展示功能测试、教材添加、教材搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:用户登录功能测试:表5-1用户登录功能测试表用例名称用户登录系统目的测试用户通过正确的用户名和密码可否登录功能前提未登录的情况下测试流程1)进入登录页面2)输入正确的用户名和密码预期结果用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入实际结果实际结果与预期结果一致教材查看功能测试:表5-2教材查看功能测试表用例名称教材查看目的测试教材查看功能前提用户登录测试流程点击教材列表预期结果可以查看到所有教材信息实际结果实际结果与预期结果一致管理员添加教材界面测试:表5-3管理员添加教材界面测试表用例名称教材发布测试用例目的测试教材发布功能前提用户正常登录情况下测试流程1)点击教材信息管理就,然后点击添加后并填写信息。2)点击进行提交。预期结果提交以后,页面首页会显示新的教材信息实际结果实际结果与预期结果一致教材搜索功能测试:表5-4教材搜索功能测试表用例名称教材搜索测试目的测试教材搜索功能前提无测试流程1)在搜索框填入搜索关键字。2)点击搜索按钮。预期结果页面显示包含有搜索关键字的教材实际结果实际结果与预期结果一致密码修改功能测试:表5-5密码修改功能测试表用例名称密码修改测试用例目的测试管理员密码修改功能前提管理员用户正常登录情况下测试流程1)管理员密码修改并完成填写。2)点击进行提交。预期结果使用新的密码可以登录实际结果实际结果与预期结果一致5.3系统测试结果通过编写教材订购系统的测试用例,已经检测完毕用户登录模块、教材查看模块、教材添加模块、教材搜索模块、密码修改功能测试,通过这5大模块为教材订购系统的后期推广运营提供了强力的技术支撑。结论至此,教材订购系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、springboot技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。参考文献[1]于旭蕾,李相泽.基于JAVA技术平台的气动轻量机械臂伺服控制系统设计[J/OL].计算机测量与控制:1-8[2022-05-18]./kcms/detail/11.4762.tp.20220506.1000.004.html[2]王炜,陶章成,喻铃华,苗迪,于维杰,王宇航.一种基于springboot框架的轻量化交通仿真系统[P].江苏省:CN114417567A,2022-04-29.[3]姜健,刘永富,陆万川,严甜甜.一种基于切面技术的JAVA应用内存溢出监控系统[P].上海市:CN114398261A,2022-04-26.[4]王曼维,杨荻,李岩,及松洁.基于SpringBoot框架的智慧医疗问诊系统设

温馨提示

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

评论

0/150

提交评论