摘 要
Web应用程序开发在软件工程中发挥了重要的作用。MVC为开发Web应用程序奠定了基础。MVC体系结构将应用程序划分为不同的业务逻辑(数据表示、数据管理和请求处理)。Spring框架是Java应用程序使用的应用程序框架,有用于构建Web应用程序的扩展。SpringBoot程序是一个框架工具,旨在简化Spring项目传统的繁琐初始化流程,不再需要留意xml pom当中依赖库的版本,它将会帮我们把最合适版本的依赖配置清楚,从而可以轻松地创建独立的、基于生产级的Spring应用程序。Hibernate是一个对象关系映射工具,它将数据库表映射到对象类。这个项目的目标是开发一个健身信息管理系统,系统中的健身套餐可以被管理员发布、管理。该健身信息管理系统还允许一般用户阅读和查看针对这些健身套餐信息的购买情况和评论及评价。注册登录了的用户可以对健身套餐进行购买、评价、评论。该系统的架构将基于SpringBoot和Hibernate系统。
关键词:SpringBoot框架;Web应用程序;Hibernate框架;
1 绪论
本章从宏观的角度去论述了课题的研究背景,在此过程汇总将项目的俯视角度下的概览说明了一下,除此之外针对本课题的研究内容做了一次回顾,并对论文的结构给出了清晰的描述。
1.1 研究背景
改革开放以来,以市场经济为辅助手段的国家公有制为本的特色体制为我国经济增长、公民财产的积累、社会的繁荣富强提供了最强的保障和制度基础。随着我国经济增长,在GDP层面上我国逐渐站稳了世界第二大经济体的地位,我们基本实现了全面小康社会的建立。社会财富的积累直接带动了公民的生活素质的提高和人生追求的多元化。
从前的温饱、脱贫等长期困扰着中华民族的历史难题迎刃而解之后,我们在本世纪初有了新的一个目标,那就是“体育强国”。虽然体育强国的建成不是一朝一夕的,但民营企业家和私营业主们强力响应中央的战略布局,在过去的短短15年历史进程中公民社会出现了诸多健身会馆、社区化健身区域、室内体育场馆等等,这些都为社会公民的锻炼日常化带来了大力的支持。
在以上的时代和政策背景之下,本课题的研究应运而生,一方面我国的产业结构随着国力和经济实力的增强需找到文化产业领域内的落脚点,而眼看全世界传统强国的发展现状,比起制造业,他们在科技产业和文化产业方面的投入和经济利润是巨额的。从这个角度去思考的话,社会体育行业的蓬勃发展自然会给体育文化类产业的兴起提供最坚实的基础。故本课题的研究背景与其说是信息时代下互联网产品的工业落地实现方面的探索,还不如说用互联网的工具和思维给文化领域的产业赋能[1-3]。
1.2 研究意义
把话题拉回到本课题研究的技术落脚点——互联网。我国互联网产业的兴起大概可以追溯到90年代末00年代初。特别需要指出的是我国互联网产业的真正腾飞那就要追溯到移动互联网时代的来临,我们可以回想,在过去10年过程中随着vivo、华为、步步高、oppo等国产手机制造商生产规模的指数增长,国家的大力支持和扶持,在国内形成了“人手一部手机”的局面。当然在移动互联网时代的手机并不仅是传统意义上的通讯传呼工具,我们可以把它默认为小型计算机,它在日常生活层面上完全替代了计算机的存在。
互联网技术一方面如上文所述离不开硬件制造商的扩张,另一方面就是软件行业的进一步兴起,阿里云、腾讯云为支柱的云服务提供商为我国诸多软件开发企业带来了空前的发展大道。借助以上两段落内容,作者想要表达的就是我们在移动互联网时期的基础设施已经具备了软硬件层面上比较强的底子。
所以结合以上两个主题线,我们在本课题中需要将互联网的解决方案附着在“体育强国”政策路线的具体应用场景中,用互联网的技术手段为健身产业赋能,为他们的客户服务带来方便、为客户带来一键式享受健身服务的体验,进而更进一步扩大健身会馆的产能和利润。从更长远的眼光去看待本产品的话,我们可能可以通过利用互联网的技术给体育文化产业赋能,从而将我国从世界工厂逐步升级为文化产业强国[4,5]。
1.3论文结构
在这个毕业设计毕业论文课题研究中,已经实现了一个健身信息管理系统。该应用程序允许管理员登录,并将健身套餐信息发布到系统中。一般用户也可以在前端展示系统上查阅各类健身套餐信息、针对健身套餐信息的评价信息、评论信息。注册登录的用户可以对自己所购买的健身套餐进行评价和评论。
本文的内容组织如下:第二章概述了相关理论概述与技术,如SpringBoot和Hibernate框架。第三章介绍了健身信息管理的系统设计和功能,第四章中给出了应用程序的屏幕截图。第五章给出了系统的测试。
2 相关理论概述与技术介绍
任何实践都建立与某种理论知识之上,本章中笔者仅围绕健身信息管理系统的技术栈,将在本系统中所用到的所有核心技术进行系统的概述和介绍。
2.1 Spring与SpringBoot
Spring在天才程序科学家RodJohnson的灵感之下已经变成了全世界企业级程序开发的主流框架,它通过DependencyInjection(依赖注入)、AOP(面向切面编程)等核心底层技术和设计模式将java程序开发变得非常规范和简单,从这个角度上我们可以说,Spring框架给了很多企业快速上市的通道,也为全世界程序员的健康和幸福指数的提升作出了革命性的贡献[6,7]。
本着不重复造轮子的原则,Spring将很多底层的基础设施封装的特别好,比如说和关系型数据库的连接框架(jdbc)、与消息队列的交互框架、与缓存数据库的交互框架、事务处理封装层等等都准备就绪,这样一来就可以将注意力全方位放在业务逻辑上。总而言之,Spring框架是一个Java平台,它为开发Java应用程序提供了全面的基础设施支持[8-13]。
(1)Spring的基本结构
Spring的架构如图2.1所示。
图2.1 Spring框架的结构
核心容器:核心容器由核心(Core)、豆(Beans)、上下文和表达式语言模块(Context and Expression Language modules)组成。核心Core和豆Bean模块提供了框架的基本部分。上下文模块建立在坚实的基础上,它受益于核心core和豆子Bean模块。表达式语言模块(The Expression Language Module)提供了一种功能强大的表达式语言,用于在运行时查询和操作对象图。
数据访问/集成:数据访问/集成层由JDBC、ORM、OXM、JMS和事务模块组成。JDBC模块提供了一个JDBCab约束层,它消除了执行繁琐的、特定于数据库供应商的JDBC编码和错误代码解析的需要。这个ORM模块为流行的对象-关系映射api提供了集成层。
Web:Spring的Web模块提供了基本的面向Web的集成特性,如多部分文件上传功能,以及使用Servlet侦听器和面向Web的应用程序上下文初始化逆控制(IoC)容器。它还包含了Spring的远程支持中与网络相关的部分。
AOP和仪器仪表:Spring的aop模块提供了一个兼容AOP联盟的面向方法的编程(切面编程)实现,允许您定义方法拦截器和切入点,以干净地解耦实现应该分离的功能的代码。
测试:测试模块支持使用JUnit或TestNG对弹簧组件的测试。反向顺序来执行任何后处理逻辑。一旦生成了结果,它就负责匹配应该呈现结果的JSP或自由标记模板。
(2) SpringBoot的优势
SpringBoot为Java开发人员提供了一个很好的平台来开发一个开发人员可以直接运行的独立的生产级Spring应用程序。需要最低限度的配置,而不需要整个Spring配置设置。Spring引导旨在避免Spring中复杂的XML配置,并以更简单的方式开发可准备的弹簧应用程序。其中优点如下:
解决依赖冲突:SpringBoot有助于解决依赖冲突。它识别所需的依赖项并为使用者在自动选用了各依赖的版本的情况下导入它们。
兼容版本:SpringBoot作为自动配置了所有依赖项的兼容版本的信息。它最小化了运行时类加载程序的问题。
避免样板代码:SpringBoot的相对“固执的默认配置”方法可以帮助您在幕后配置最重要的部件。只有在需要时才能覆盖它们。否则,一切都都很完美,它不会影响任何程序性能。它有助于避免样板代码、注释和XML配置。
用户友好型:提供嵌入式HTTP服务器Tomcat(也就是将Tomcat服务器、db2内存数据库等内置化),以便您可以快速开发和测试。
与IDE的集成:它与IDE有良好的集成,如Eclipse和intelliJIdea。
2.2 Hibernate
在大多数应用程序中,将数据存储为对象,并用类表示。对象关系映射(ORM)框架用于将对象从对象映射到关系型数据库当中。ORM工具允许开发人员执行数据库操作,而无需编写原始的SQL查询语句或者其他奇奇怪怪的类似于SQL的一些个语句[14-18]。ORM框架的工作原理是将一个数据表示转换为另一种数据表示,如图2.2所示。
图2.2对象和数据库表之间的映射关系
Hibernate是一个ORM工具,它很好地与SpringBootStarter应用程序。它通过用高级对象处理函数替换直接与持久性相关的数据库访问,解决了对象-关系阻抗不匹配问题。休眠驻留在Java对象和数据库系统之间,以执行在数据库中持久化对象所需的所有工作。
(1) Hibernate体系结构
图2.3为Hibernate框架的架构。
图2.3Hibernate体系结构
Hibernate应用程序架构涉及到以下重要的类对象,它们分别是:
配置:配置对象是编程者在任何Hibernate应用程序中创建的第一个Hibernate对象。它通常只在应用程序初始化期间创建一次。它表示Hibernate程序所需的配置或属性文件。
会话工厂:会话用于获取与数据库的物理连接。会话对象是轻量级的,并且被设计为在每次需要与数据库进行交互时进行实例化。持久性对象将通过会话对象保存和检索这些对象。会话对象不应该长时间保持打开,因为它们通常不是线程安全的,并且应该根据需要创建和销毁它们。
事务对象:事务表示与数据库的工作单元,大多数RDBMS支持事务功能。休伯纳特的交易是由底层事务管理器和事务(来自JDBC或JTA)处理。这是一个可选的对象,Hibernate应用程序可能会选择不使用此接口,而是在它们自己的应用程序代码中管理事务。
查询对象:查询对象使用SQL或Hibernate查询语言(HQL)字符串来从数据库中检索数据并创建对象。查询实例用于绑定查询参数,限制查询返回的结果数量,最后执行查询。
条件对象:条件对象用于创建和执行面向对象的条件查询,以检索对象。
(2)Hibernate的优点
独立于数据库:Hibernate独立于后端处的数据库引擎。提供了Hibernate方言列表,用于连接我们喜欢的任何数据库。
JPA提供程序:Java持久性API(JPA)是一个规范。JPA有很多实现;比如eclipse链接、OpenJPA等等。Hibernate系统是一个标准的ORM解决方案,它具有JPA功能。因此,使用Hibernate将有助于您在特定于JPA的项目中利用ORM和JPA的所有功能。
3 系统需求分析和系统设计
需求分析是任何软件应用在投入开发阶段之前的第一步也是最重要的一步。在这方面在成熟的互联网或软件公司都有专业的需求分析团队。需求分析不仅从客户那里获取足够多的信息来明确客户对于此软件应用的功能、成本、愿景信息,更应该有主动挖掘需求的关键能力。因为客户的需求有些时候可能非常局限,而如若需求分析师能够在尽可能多地程度给客户提示和方向及愿景性启发,可能可以激发项目的真正潜能[19-22]。
系统的设计通常会基于需求分析而得出,系统的设计部分中通常需运用uml语言,用时序图、顺序图、类图、用例图等将程序的设计概念表达出来以便后期的具体编码实现环节如期进行。
3.1 业务背景及流程
如果普通浏览者A在想要用进入健身信息管理系统中,则首先并不需要在平台进行注册。普通浏览者可以以方可的身份在系统中浏览健身信息管理系统中的最新健身套餐内容、购买者针对某一健身套餐的评论、评价、单一健身套餐的总销量等信息。以上针对普通浏览者(访客)的基本权限仅保留阅读类操作,访客并不能购买、评价、评论任何健身套餐。访客还可以在系统内进行注册,注册成功后即刻变成注册用户,并在访客用户的基本权限之外额外有权限购买健身套餐,也有权限针对自己所购买的套餐内容进行评价和评论。如图3.1和3.2所示。
注册用户B可以在系统内进行登录。登录过后照样可以浏览系统中的所有健身套餐信息,而且可以购买任何健身套餐。同时还有权针对自己所购买的健身套餐进行评价和评论。如图3.3所示。
图3.3用户业务流程图
系统管理员在平台中是事先需被分配管理元帐号并被允许对网站内容进行写入操作权利的,然后在平台完善自己的个人信息,并可以在系统后台中进行登录。管理员可以对内部网的各板块的内容进行修改、更新、删除、发布。具体来说可以对新的和旧的健身套餐信息进行增删改查操作,并且这些被管理员所发布的新内容都要在系统前端及时被展示给内部访问者。如图3.4所示。
图3.4管理员业务流程图
3.2 系统功能框架
系统功能主要分为平台、用户与管理员三个方面,如图 3.5所示。
图3.5系统主要功能
图3.6系统功能模块划分图
图3.5显示的平台主要功能,清楚地反映出了用户系统,管理员系统,平台系统之间的关系。
(1) 平台:展示健身套餐信息列表、显示单一套餐信息(包含评论、评价、套餐详情)等。
(2) 用户:登录注册、购买健身套餐、评价健身套餐、评论健身套餐、撤销评论等。
(3) 商家:登录、发布健身套餐信息、删除健身套餐信息、删除评价、删除评论等
根据系统功能,整个平台又可以分为三大模块,分为用户模块、交易模块(核心模块)、管理员模块(如图 3.6所示)。
3.3系统类设计
系统涉及到几个类,其中主要包括User类、admin类、productMoban类、product类和pingjia类、pinglun类。如图3.7所示。
图3.7系统类图
User类与用户功能相关,包含了用户信息(ID、密码、用户名、个人余额、目前操作的套餐),注册、登录、修改信息、退出、重设密码等。
admin类与管理员功能相关,包含了商家信息(ID、用户名、密码)、注册、登录、重设密码和修改信息。
productMoban类与功能相关,包含了套餐模板信息(ID、名、详细描述、价格、数量、有效状态)。
product类涉及具体健身套餐资源,用户每购买根据套餐模板的套餐资源时它会被即时创建,就视为为一个Product实例或者可以说是数据库中的一行新记录。(id, mobanId, owner, usabletime, enablestatus)
pinglun类与用户对具体套餐资源一一对应,(ID、product、owner、content)。
Pingjia类与用户对具体套餐资源一一对应,(id, product, score, owner)。
3.3用户功能
用户模块的功能包括:用户注册,用户登录,用户信息维护(资料修改),查看健身套餐列表,查看具体健身套餐,购买健身套餐,评价套餐,评论套餐。下面图3.7所示是用户模块的用例图。
图3.8用户模块用例图
3.3.1用户信息
(1)用户注册
用户注册是用户在健身信息管理系统中一切后续操作的前提,虽然访客类用户也能进行对健身套餐的列表型查看、具体查看等业务,但是但凡需要在系统内购买健身套餐,需以注册用户的身份浏览系统。
在注册时用户所需要提供的信息有用户名、密码、手机号三样。用户注册的流程图如图3.9所示。
图3.9用户注册流程图
(2)用户登录
用户登录也可以说是身份验证流程,为了提高系统的安全性,用户在登录的时候需提供密码,系统会将用户名和密码配对,配对成功后方可实现登录操作,并在后续过程中进行一系列登录用户的相关操作。用户登录流程图如图3.11所示。
图3.10用户登录时序图
图3.11用户登录流程图
图3.12系统后台管理登录界面
图3.13系统头部界面
(3)用户个人信息修改
用户个人信息修改方面目前可对绑定手机号进行修改,这样一来一旦用户手机号码有变动,就可以在系统中自主进行修改。用户个人信息修改流程图如图3.14所示。
图3.14用户修改个人信息流程图
3.3.2用户使用套餐
(1)用户购买套餐
用户购买套餐是本系统的一大功能特色,首先系统中用户会有属于自己的余额,用户可凭此余额对健身套餐进行购买。另一方面管理员在发布健身套餐时会对此类健身套餐的量进行配置,在套餐总量的配置方面管理员需按照健身馆教练数量及器材数量的大致情况而量力而配置。在这方面的详细需求叙述工作,笔者将会在交易模块中更进一步讨论。图3.15是用户购买套餐的流程图。
图3.15用户购买健身套餐流程图
(2)用户评价套餐
在此健身信息管理系统中,笔者按照毕业设计任务书要求引入了用户对健身套餐的评价机制,评价目前以打分的形式进行,分数从0至10。评价和评论并不一样,评论更多的是用户使用了健身套餐之后的感受的文字化表现,而评价就能够将诸多用户对此产品的使用体验数字化,以便健身馆管理者和其他用户能够快速筛选出优质健身套餐。图3.17是用户评价健身套餐的流程图。
(3)用户评论套餐
用户在购买套餐后将自己对本健身套餐的直观感受以评论的方式留到系统中,此评论可以被访客和其他用户浏览,也能被管理员进行管理。如图3.19是用户评论健身套餐的流程图。
(4)用户查看套餐列表
用户可以在系统中查看管理员所发布的所有套餐列表(包含已购买套餐)。并且在查看套餐时进行筛选,比如根据评论量和评价平均分进行排序。如图3.21是用户查看套餐列表流程图。
(5)用户查看具体套餐详情
当用户在点击某具体套餐时,页面会跳转到该套餐信息的具体详情页,在此页中用户可以查看此套餐的详情信息,同时也能看到已购买此套餐的用户进行的评价和评论信息。如图3.23所示是用户查看具体套餐性情的流程图。
3.4管理员功能
管理员模块的功能包括:管理员登录,查看健身套餐列表(包括已售健身套餐列表),查看具体套餐详情(包括已售健身套餐详情),管理评价,管理评论。下面图3.24所示是用户模块的用例图。
图3.24管理员用例图
3.4.1管理员登录查看模块
系统功能模块中有管理员功能模块,配备与管理员功能模块有专门提供给管理员操作的前端展示系统。管理员模块中管理员需先后台登录,在后台登录后查看套餐列表(包含已售套餐列表)(提供筛选功能),也可以查看单一套餐的具体详情信息。
管理员登录流程和用户登录流程一致,在登录的时候需提供密码,系统会将管理员用户名和密码配对,配对成功后方可实现登录操作,并在后续过程中进行一系列登录用户的相关操作。
查看套餐列表依然和用户模块中查看套餐列表一致,管理员可以在系统中查看所发布的所有套餐列表且在查看套餐时进行筛选,比如根据评论量和评价平均分进行排序。
当管理员点击某一套餐信息时,可以跳转到某一具体套餐信息详情页。因以上所描述的三个用例和用户模块中的登录、查看列表、查看详情一致。
图3.25用管理员登录时序图
图3.26用管理员登录时序图
图3.27管理员信息浏览界面
3.4.2健身套餐管理
(1)管理健身套餐信息
套餐在管理系统中被管理员发布,发布的时候会有套餐详情、套餐价格等属性,而当管理员需要对已经发布的套餐信息进行修改时,就可以依赖此功能。除此之外管理健身套餐信息还可以对此类套餐的可售状态进行修改(可售或停售)。如图3.31是管理健身套餐信息的流程图。
(2)管理评价
当用户购买了具体某一类套餐之后,会产生一笔交易,也就是说此类套餐的一个具体的实体作为资产归属于某用户。用户可以针对自己所购买的健身套餐进行评价,而这一评价以直接打分的形式进行,管理员可以对评价进行管理工作,比如对评价的筛选查看和删除等。如图3.34是管理评价的流程图。
(3)管理评论
当用户购买了具体一类套餐之后,随之而来的是产生一笔套餐交易,并此类套餐的具体实体作为用户资产归属于用户。用户可以针对所购买的健身套餐进行评论。评论和上文(3.4.3)所提到的评价不一样,评价是以直接打分的形式存在,而评论是用自然语言(文字)的形式给此类健身套餐给出用户使用后的客观评论,而且这种评论在管理员端可以直接在本类套餐详情页下管理(删除),也可以在单独查看所有评论信息的展示页中进行管理。如图3.37是管理评
(4)管理已售套餐
管理员可以对用户已经购买了的健身套餐进行管理,这里所提的管理更多地是此管理套餐资产的撤销和作废操作。管理员需进入到本健身套餐资产的详情页,并对此套餐尽心撤销和作废操作。撤销操作可以将用户在购买此套餐时的资金退回到用户的余额总;而作废操作并不会对相关用户的余额进行改动。
3.4.3交易模块
交易模块是健身信息管理系统中业务逻辑复杂的部分,交易模块作为平台功能模块,在流程触发者层面上既包含用户也包含管理员。交易模块包含:订单发布、撤销订单、作废订单、自动确认订单。
其中订单发布是由用户来发起,并基于此类健身套餐的余量和用户余额来初步确认该用户是否有潜在的可能性去发起此交易;撤销订单由管理员发起,管理员在发起撤销订单后健身套餐资产不再属于购买本套餐资产的用户且用户的余额会有“加”操作;作废订单也被管理员发起,作废操作发起后此套餐资产不再属于购买此套餐的用户且用户的余额并不会有“加”操作。
(1)发布订单
用户进入到某类套餐信息详情页,并发起此类健身套餐的购买操作,并将购买请求传递到用户服务模块,用户服务模块初步在不加锁任何资源(用户余额和套餐余量)的前提下初步判断一下此用户是否有可能发起这笔交易(用户余额>套餐余量),如果满足条件则将此订单发布到交易模块服务中,此后交易模块对于此笔订单做安全地处理。如图3.39是交易模块发布订单流程图。
(2)撤销订单
撤销订单一般会被管理员触发,笔者设立此功能是因为有些情况下用户可能在购买套餐的时候出现错误购买、需求有变等情况,针对这种情况系统需有办法处理此情况。
图3.42系统撤销购买套餐订单且退款时序图
图3.43撤销订单流程图
3.5系统数据库设计
(1)数据库实体关系图
系统数据ER图,如图3.44所示。
图3.44数据库E-R图
(2) 数据库表
表4.1User用户表
属性 | 描述符 | 类型 | 长度 | 是否可空 |
id | 自增序列 | int | 10 | not null |
密码 | password | varchar | 50 | not null |
用户名 | name | varchar | 50 | not null |
用户余额 | balance | decimal | 7 | not null |
表4.2 Admin管理员表
属性 | 描述符 | 类型 | 长度 | 是否可空 |
管理员名 | Name | varchar | 50 | not null |
密码 | password | varchar | 50 | not null |
id | 自增序列 | int | 50 | not null |
表4.3 ProductMoban表
属性 | 描述符 | 类型 | 长度 | 是否可空 |
ID | ID | int | 11 | not null |
name | name | varchar | 50 | not null |
describe | 详细描述 | varchar | 50 | not null |
price | 价格 | decimal | 11 | not null |
count | 总体库存 | int | 5 | not null |
enablestatus | 可购买否 | int | 2 | Not null |
表4.4 product表
属性 | 描述符 | 类型 | 长度 | 是否可空 |
ID | ID | int | 11 | not null |
mobanId | 套餐模板id | int | 10 | not null |
owner | 拥有者 | int | 10 | not null |
usabletime | 资源有效时长 | int | 15 | not null |
enablestatus | 资源可用否 | int | 2 | Not null |
表4.5 pingjia表
属性 | 描述符 | 类型 | 长度 | 是否可空 |
ID | transferID | int | 11 | not null |
productID | productID | int | 11 | not null |
score | 评分 | int | 2 | not null |
owner | ownerId | int | 10 | notNull |
表4.6 pingjia表
属性 | 描述符 | 类型 | 长度 | 是否可空 |
ID | transferID | int | 11 | not null |
productID | productID | int | 11 | not null |
content | 评论内容 | varchar | 1000 | not null |
owner | ownerId | int | 10 | notNull |
3.6开发环境配置
此时,通过系统需求分析和系统设计步骤,系统的基本框架已确定。在实现过程中为了降低开发成本、为了给后期系统升级和维护创造最有利的模式,就要选择好开发工具进行实现。
积分兑换系统在实现过程中结合HTML+CSS+JAVASCRIPT+JAVA+APACHE组合。
系统数据库方面选用MySql,它体积小,速度快,使用成本低,很符合中小型网站的开发。
系统服务器方面采用了Apache Tomcat。这也是目前很好的支持集成j2ee标准。
4系统测试
4.1 功能测试
在进行设计和实现该系统的过程时候,不可避免地可能会同时出现一些基本错误。对于一个进行软件程序来说,在在开发过程中可能有逻辑层面的错误或者因资源消耗而导致的性能差的情况存在,通过对于系统的测试,程序员可以立即在上线或启动应用之前进行修改。但是如果存在算法等错误则需要细心排查,如果没有在整个过程中穿插着进行测试的话。在最后完成系统的时候,如果出现了漏洞错误。就很难找到原因,有很大的可能要消耗巨大的精力去改掉这个错误[23-26]。
除此之外,值得一提的是,因为本系统是对于健身房管理者和健身房客户开放的系统,所以无论从数据读取或者数据写入两个层面上系统理论上不会受到太大的并发压力,除此之外,因在目前的毕设阶段中管理员账号只有一个,所以对于共享资源的修改方面也几乎没有并发情境下的共享资源安全性问题存在,除此之外,在事务层面上的测试基本上在系统编码过程中以JUNIT测试的方式同步进行完毕了,所以当一个事务方法内的数据资源的修改也严格实现了数据库操作的事务性ACID原则[27-31]。
4.1.1用户功能模块测试
为了确保系统功能的稳定性以及可用性,在用户功能模块部分,本文进行了用户访问健身信息管理系统测试,用户购买健身套餐测试,用户评论健身套餐资源测试以及用户评价健身套餐资源测试。
表5.1 用户访问健身信息管理系统测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 用户名为空 | 没有办法登录 | 没有办法登录 | 通过 |
2 | 密码为空 | 没有办法登录 | 没有办法登录 | 通过 |
3 | 用户名:84562
密码:21221 | 正常访问 | 正常访问 | 通过 |
4 | 用户名:7866
密码:123443 | 因密码或用户名有误没有办法登录 | 因密码或用户名有误没有办法登录 | 通过 |
表5.2 用户购买健身套餐测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 选择好健身套餐并余额足以支付本套餐价格 | 购买成功且用户余额扣款成功 | 购买成功且用户余额扣款成功 | 通过 |
2 | 选择好健身套餐但余额不足以支付本套餐价格 | 购买失败 | 购买失败 | 通过 |
表5.3 用户评论健身套餐资源测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 以登录前提下Textarea输入好评论内容进行提交 | 评论成功 | 评论成功 | 通过 |
2 | 以登录前提下Textarea为空 | 评论提交失败 | 评论提交失败 | 通过 |
表5.4 用户评价健身套餐资源测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 以登录前提下input框输入好评价分进行提交 | 评论成功 | 评论成功 | 通过 |
2 | 以登录前提下input框为空 | 评价提交失败 | 评价提交失败 | 通过 |
4.1.2管理员模块测试
为了确保系统功能的稳定性以及可用性,在管理员模块部分,本文针对管理员登录,管理员管理套餐模板,管理员管理具体套餐资源,管理员管理套餐评论以及管理员管理套餐评价进行了测试。
表5.5 管理员登录测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 用户名为空 | 没有办法登录 | 没有办法登录 | 通过 |
2 | 密码为空 | 没有办法登录 | 没有办法登录 | 通过 |
3 | 用户名:admin
密码:21221 | 没有办法登录 | 没有办法登录 | 没有办法登录 |
4 | 用户名:admin88
密码:123443 | 登录成功 | 登录成功 | 通过 |
表5.6 管理员管理套餐模板测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 针对特定套餐模板进行修改并提交表单 | 修改成功并在数据库中的记录同步被修改 | 修改成功并在数据库中的记录同步被修改 | 通过 |
表5.7 管理员管理具体套餐资源测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 针对特定套餐资源进行修改其可用状态并确认 | 套餐资源可用状态修改成功并在数据库中的记录同步被修改 | 修改成功并在数据库中的记录同步被修改 | 通过 |
表5.8 管理员管理套餐评论测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 针对某一评论进行删除按钮 | 删除成功 | 删除成功 | 通过 |
表5.9 管理员管理套餐评价测试
序号 | 输入 | 预期结果 | 实际结果 | 测试结果 |
1 | 针对某一评价进行删除按钮 | 删除成功 | 删除成功 | 通过 |
5 总结与展望
从一开始,系统的设计和开发对我来说不简单,由于时间长,部分基础的理论知识已经忘记。后来,通过我的不断学习、试验、实验和修改,系统终于能够正常运行。这是真的很难,但充满了成就。感觉的过程。该系统与实际设计相符。在系统设计开发之前,对普通健身人群的爱好特点进行了大量的调查研究。本系统是根据调查结果进行设计开发的,充分考虑了这些经济压力带来的具体需求。系统操作简单简捷,后台维护也非常简捷,让系统的每一个操作人员和用户都可以一目了然的操作,查看自己想要知道的内容,详细的了解出行带来的内容。具体情况,公开透明,促进健身行业的发展,提高经济的可持续发展。
健身信息管理系统的开发重点是”信息管理”,开发前、开发中、开发后的系统开发都必须围绕这一点进行。需要做更多的研究,了解掌握者的真实需求,并详细分析具体问题。只有需求才能更好的帮助系统的程序设计。盲目开发必然会影响系统的整体开发、测试和进度。它只会增加自己的工作负载。再好的设计,如果不能满足客户的需求,那么这个设计就没有多大用处了。在设计中要避免的主要问题是,在没有仔细研究实际情况的情况下,只专注于输入代码,这很容易导致最终的错误。开发过程中难以把握的是如何准确使用spring框架,系统如何给用户带来体验感。这些也让我有了更扎实的知识和实践技能。更上了一层楼,为今后我的以后的各项工作发展打下更为坚实有力的基础。由于时间、经验和自身水平的问题,我的设计可能还不够完美,还有不足之处。我相信通过我未来的不断学习,我会有更好的作品。
参 考 文 献
[1]宫小全著.电子商务系统分析与设计(第3版),清华大学出版社,2017.
[2]宫小全.电子商务系统分析与设计实验教程[M].北京:电子工业出版社,2007
[3]冀振燕.UML系统分析设计与应用案例.北京:人民邮电出版社,2003
[4] Jim Arlow,Ila Neustadt.UML和统一过程——实用面向对象的分析和设计.北京:机械工业出版社,2003
[5] Wendy Boggs,Michael Boggs.UML与Rational Rose 2002从入门到精通.邱仲潘,等译.北京:电子工业出版社,2002
[6] 李智慧.大型网站技术架构:核心原理与案例分析[M].北京:电子工业出版社,2013
[7] (X)Hendricksen D.软件架构师的12项修炼[M].北京:机械工业出版社,2012
[8] Brian Goetz等.Java并发编程实战[M].北京:机械工业出版社,2012
[9]郭欣.构建高性能Web站点[M].北京:电子工业出版社,2009
[10] [日]上野宣.图解HTTP[M].北京:人民邮电出版社,2014
[11]鸟哥. 鸟哥的Linux私房菜:基础学习篇[M]. 北京:人民邮电出版社,2010
[12] weidameili.学生毕业设计管理系统与实现[D].https://max.book118.com/html/2015/1212/31281335.shtm.2015
[13]曹阿敏.毕业生实习实习信息管理系统的设计与实现[D]. 2014
[14]潘旭阳.信息管理与信息系统专业实践能力培养模式[J].高教论坛,2005(2)
[15]谢人强,叶福兰.信息管理与信息系统专业实践教学改革研究[J].北京城市学院学报,2018(01):39-43.
[16]黄秋方. 纳税信用评价系统的设计与实现[D].电子科技大学,2018.
[17]朱佳雯.高职院校学生就业信息系统的设计与实现[J].自动化与仪器仪表,2018(11):141-143.
[18]胡洋,郭勇,于骐鸣.大数据背景下的“信息管理与信息系统”专业人才培养方案改革研究[J].黔南民族师范学院学报,2019,39(04):83-86.
[19]阳意峰,阮长庆.基于面向对象程序的体育教学信息管理系统设计[J].微型电脑应用,2019,35(02):25-26+29.
[20] Huai, J.The design and implementation of a knowledge base management system[C].1992 IEEE:10.1109/TENCON.1992.271933
[21]汪磊. 基于UML的高校信息管理系统的分析与设计[D].南昌航空大学,2018.
[22]宋茹. 中职校学生实习管理系统设计与实现[D]. 2014.
[23]沈玮.在校实习生管理系统的设计与实现[J]. 信息与电脑:理论版, 2014(8):140-141.
[24]岳阳. 学生实习管理系统设计与实现[J]. 电脑编程技巧与维护, 2017(17).
[25]高弟. 大学生毕业实习管理现状研究[J]. 中国成人教育, 2016(16):36-40.
[26]杨登伟;段俊霞;;高师院校教育实习评价的困境与出路[J];当代教育论坛;2015年01期
[27] Yannuar Y , Hasan B , Abdullah A G , et al. Design and implementation of web-based internship information system at vocational school[J]. IOP Conference Series Materials Science and Engineering, 2018, 434(1):012301.
[28]伍岳连.高职院校顶岗实习质量评价指标体系研究[J]. 2014年第5期159-160,
[29]周勇, 张炜, 王旭嘉. 高等院校实训教学体系的国内外研究现状[J]. 教育现代化, 2016(40):101-102.
[30]王建宇, 刘智能. 基于UML面向对象的系统分析设计方法研究[J]. 外语与翻译, 2013, 14(2):201-202.
[31]邵蔚天, 章雪梅, 杨永亮. 面向对象的系统分析设计方法[J]. 无线电通信技术, 2005(03):35-38.
致 谢
在大连民族大学的本科生期间即将结束,这四年充满了回忆和美好,这四年被青春的野心和跟随每日清晨的阳关一起升起的对生活的期待完全填充,同样这四年是充满了艰苦奋斗过程中的泪水和汗水,但这四年同样也是人生中足以常常回过头回忆。这四年中最让我难忘的是,在学校、在社会无论在生活方面还是学习方面都得到了老师、同学、舍友、亲朋好友们的帮助,这些帮助让我这个来自西北地区的外乡人士感受到了具体的温暖。
感谢我的指导导师和任课老师,老师们的平近易人和对于科学的敬畏之心给我深刻的印象,执着又求实的开拓创新精神深深的影响到了我。在我缺乏经验和认识能力受限的情况下导师总是很耐心地给我慢慢讲解一些计算机科学有关的基础和进阶知识,在课题科研进行中总是为我们着想,让我的知识得以扩展,生活方面一个人面对困难,也完成分配的每项任务。再次感谢导师四年来的栽培。
感谢学院的同门师兄师姐们,感谢和共度为期四年求学生涯的同班同学们和舍友们。你们在学业与生活给我的帮助和关心,在这四年里让我的生活添加了光彩。希望您们也顺利毕业,前程似锦。
最后感谢家人为了我的学业,在这段求学之路背后默默的付出。希望毕业以后能成为对社会有用的人,报答你们,祝你们以后能平安健康。
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/160652.html,