基于SSM框架的动物医疗平台设计与实现计算机专业_第1页
基于SSM框架的动物医疗平台设计与实现计算机专业_第2页
基于SSM框架的动物医疗平台设计与实现计算机专业_第3页
基于SSM框架的动物医疗平台设计与实现计算机专业_第4页
基于SSM框架的动物医疗平台设计与实现计算机专业_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

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

文档简介

1、目 录摘 要IAbstractII引 言11 相关技术31.1 Ajax31.2 MVC设计模式31.3 BootStrap31.4 SSM框架41.5 本章小结42 系统分析52.1 需求分析52.1.1 用户需求分析52.1.2 医生需求分析62.1.3 管理员需求分析72.2 用例分析82.3 非功能需求102.4 本章小结103 系统设计113.1 系统总体设计113.1.1 体系结构设计113.1.2 功能结构设计123.2 系统详细设计153.3 本章小结224 系统实现234.1 开发环境234.2 系统设计实现234.2.1 数据库实现234.2.2 设计实现244.3 本章小

2、结285 系统测试295.1 测试计划295.2 测试结果295.2.1 单元测试295.2.2 压力测试305.3 本章小结32结 论33致 谢34参考文献35摘 要 随着我国社会经济的发展,城市化进程的加快,饲养宠物开始受到越来越多居民的喜爱,直接加快了宠物医疗行业的发展。由此带来的宠物医疗问题也日益增多。在这种情况下,传统的宠物医疗服务已经无法满足市场的客观需求。针对现在宠物市场的现状和医疗服务的问题,本文开发了基于SSM框架的动物医疗平台。通过对动物医疗平台业务流程的调研,并且充分考虑到未来行业的发展趋势,本文运用SSM框架技术,系统框架采用B/S体系架构,后台数据库采用MySQL数据

3、库,应用服务器采用idea开发实现了动物医疗平台。所设计开发的动物医疗平台包含管理员,用户,医生等三大模块。本平台的突出之处在于,平台提供全国各地的宠物医院和宠物医生,用户可以通过此平台进行预订。通过使用本文平台进行预订动物医疗服务,可大大提高业务的操作性和实用性。它具有操作方便、简单等优点,大大降低了运营成本,提高了宠物医疗市场的透明度。本平台采用SSM框架技术,平台具有可操作性、便捷性和易用性的特点。该技术使平台具有良好的跨平台性和较强的可扩展性。经过具体的编码和系统测试,动物医疗平台的所有模块都已成功实现并投入使用。实际应用表明,本文设计的B/S系统总体运行稳定,能够满足动物医疗方面的需

4、要。关键词:SSM框架; B/S架构; 动物医疗平台; 市场的透明度 AbstractWith the development of Chinas social economy and the acceleration of urbanization, more and more residents begin to keep pets, which directly accelerates the development of the pet medical industry. Medical problems for pets are also on the rise. In this c

5、ase, traditional pet medical services have been unable to meet the objective needs of the market. Aiming at the current situation of the pet market and the problems of medical services, this paper develops an animal medical platform based on SSM framework.Based on the investigation of the business p

6、rocess of animal medical platform, and fully considering the development trend of the industry in the future, this paper adopts SSM framework technology, B/S system architecture is adopted as the system framework, MySQL database is adopted as the background database, and idea is adopted as the appli

7、cation server to develop and realize the animal medical platform. The animal medical platform includes three modules: administrator, user and doctor. What stands out about this platform is that it provides pet hospitals and pet doctors all over the country, and users can book through this platform.

8、Through the use of this platform to book animal medical services, can greatly improve the operational and practical business. It has the advantages of easy operation and simplicity, greatly reducing the operating cost and improving the transparency of the pet medical market.This platform adopts SSM

9、framework technology, which is characterized by operability, convenience and ease of use. This technology makes the system have good cross-platform and strong expansibility. After specific coding and system testing, all the modules of the animal medical system have been successfully implemented and

10、put into use. The practical application shows that the B/S system designed in this paper runs stably on the whole and can meet the needs of animal medical treatment.Keywords: SSM framework; B/S architecture; Animal medical system; Market transparency引 言从古至今,人类与动物以及大自然都是相辅相成的。动物是人类生存环境的一个组成部分,是维持人类生存

11、的基础。离开了动物人类不能生存。随着我国社会经济的发展,城市化进程不断加速。城市生活的封闭性、个性化和人口老龄化等问题不断凸显出来。饲养宠物成为了广大居民生活的一部分,宠物产业的发展速度越来越快1。随之而来,各种宠物诊疗机构如雨后春笋般因运而生。由此带来的宠物医疗问题也日益增多。面对如今宠物市场供不应求的现状以及医疗服务诸多问题,所以打造一个宠物医疗平台具有较好的应用前景。在国内,宠物医疗行业的发展正处在非常火热的状态。但该行业的线下服务存在着很多的问题。一方面由于信息的不透明,导致养宠人士看病不方便,因为国内宠物医院90% 都是中小个体宠物诊所,线下宠物医院的收费普遍较贵,存在乱收费的现象。

12、许多宠物医院挂号和药品销售价格都是医生定价,没有明码标价,许多项目医疗费用都极其昂贵。此外,宠物医院销售的宠物用品和药品的价格也远高于宠物店销售的用品、药品等。另一方面是优秀的宠物医生和宠物医院缺乏高效的宣传推广渠道,虽然拥有较好的医术和业绩,但却有很少的养宠人士知道这样的信息。国外的宠物医院制度较为成熟。和国内不同的是国外的宠物医院大致分为两大部分,一部分是医疗,另一部分是负责给宠物美容、训练和寄养。它们拥有比国内更高超的医疗技术,医生和医院都很专业。但是在进行医疗和护理时,会需要一些贵重的医疗器械。这样以来,给宠物看病的价钱也就上涨了不少。对于普通家庭的人士来说,昂贵的医疗费显然是无法承担

13、的。所以在国外,还需要通过降低医疗成本来解决宠物看病难的问题2。通过国内外的调研情况来看,不管是在国内还是国外,宠物医疗行业都还存在着大大小小的问题。随着互联网时代的到来,线上服务也越来越流行。在这种情况下,动物医疗平台的发行必定会受到国内外养宠人士的喜爱。通过该平台宠物医生可以推广自己和自己的医院,使信息变得透明化。用户通过平台可以了解到医生和医院的信息,并且可以提前预订医生。可以完美解决宠物医疗行业现有的问题。因此该平台的发行必定引起一波热潮。本文的主要内容是对动物医疗平台进行诠释,并从相关技术、系统分析、系统设计、系统实现、系统测试等方面对动物医疗平台的设计进行全面展示。本系统主要有三个

14、模块的功能。它们分别是用户模块、动物医生模块和管理员模块3。本文第1章主要介绍动物医疗平台设计中的MVC主体设计模式,采用的SSM框架,连接的MySQL数据库以及Tomcat应用服务器。第2章主要介绍动物医疗平台的需求分析,包括动物医疗平台功能需求分析、动物医疗平台的用例分析和动物医疗平台的非功能需求分析。第3章主要介绍动物医疗平台的系统设计,包括动物医疗平台的总体设计和详细设计。动物医疗平台的设计以系统的数据流图、平台的功能结构图、平台的E-R图、表的关系视图和核心功能描述为中心进行描述。第4章主要介绍动物医疗平台的开发环境以及功能模块的实现。包括软件环境和硬件环境、平台功能实现效果截图和实

15、现功能的核心代码。第5章主要介绍动物医疗平台测试所使用的测试工具,测试过程和测试结果,测试过程主要对平台功能进行单元测试和压力测试。1 相关技术动物医疗平台使用idea作为开发工具。该平台的后端模块使用的是SSM框架技术,前端模块使用Bootstrap和Ajax技术。服务器选用的是目前最新版本的Tomcat 9.0,数据库使用的是一个小型的轻量级数据库MySQL数据库。动物医疗平台采用的设计模式是MVC设计模式4。1.1 AjaxAjax是一种异步刷新页面并且基于JavaScript和XML的技术。它结合了很多种的传统技术,是一种使用现有标准的新方法。该技术最大的优点是与服务器交换数据时,在不

16、重新加载整个页面的情况下可以更新局部页面的内容。该技术的原理就是在客户端和服务器之间假设出了一个Ajax层5,用户发送指令之后,对服务器端和网页端进行分批次调动,从而提升了网页的响应速度6。XmlHttpRequest是Ajax的核心,它保证了服务器和客户端的缓存数据交换的能力,服务器返回数据后用户无需频繁刷新整个网页,就能够更新网页的局部。1.2 MVC设计模式MVC是一种设计模式,是Model、View和Controller的缩写。其中Model层是一个抽象的对象模型7,该层主要负责代码的业务逻辑,里面不仅封装了数据也封装了对数据的操作,是实际进行数据处理的地方,也可以叫做业务逻辑层。Vi

17、ew层是负责将应用渲染并显示给用户,也就是常说的前端页面,系统里主要通过JSP层来体现。Controller层是控制器,主要负责视图和模型之间的交互8,也就是web中的Servlet层,SpringMVC框架将该层的控制器替换成Controller控制器,主要负责两方面的工作,第一个方面就是接收用户的请求,并将该请求分发到相应的模型上,第二个方面是将后台处理过得数据再及时地反映到前端视图上。该平台为什么要选择MVC设计模式?因为它具有以下独特的优点:该设计模式大大降低了程序代码的耦合性,提高了代码重用,并且这种设计模式简化了开发和维护用户接口的技术含量,有效的缩短了整个系统的开发时间。该设计模

18、式可以使平台更容易维护和修改,提高了系统的可维护性9。1.3 BootStrapBootStrap 框架是目前非常受欢迎的前端开发框架,它使页面显得直观、简洁,功能十分的强悍。它主要包含 HTML、CSS 和 JS的 基础框架,具有优秀的响应式布局,可以兼容现代所有的浏览器,无论在台式机、平板设备还是手机上都可以获得最佳的体验10。使用该框架可以加快项目的开发速度,提升系统开发的效率。该框架提供了一套响应式的栅格系统。不管用户如何调整页面的尺寸,该框架都可以将页面按照合适的尺寸展现出来。1.4 SSM框架SSM框架是Spring,SpringMVC和MyBatis三个技术的简称,里面封装了已经

19、写好的规则和代码,帮助开发人员实现了很多的基础功能。其中MyBatis是一个支持高级映射的持久层框架。传统的SQL语句写在数据访问层,不利于统一管理和优化。MyBatis框架通过在XML文件中编写SQL语句,解除了SQL语句和程序代码之间的耦合。在进行查询,添加,删除,修改操作时,有很多冗余的SQL语句冗余,该框架提供了xml标签,支持编写动态SQL,极大方便了开发工作11。Spring是apche开发的一种轻型开源框架,它没有替代某个层,而是对所有的层都进行管理。该框架有两个核心分别是IOC和AOP。其中IOC将类放到工厂里面进行管理,开发时变得方便解耦,大大简化了开发工作12。AOP是Sp

20、ring的另一个核心,是为类提供动态代理类,当相应的类加上动态代理类之后,很容易实现事务,日志和权限的控制。SpringMVC使用了MVC设计思想的轻量级框架,它拥有单例的controller控制器,可以对web层解耦合,它还可以与Spring框架无缝集成,使开发变的简单,易操作13。1.5 本章小结本章主要介绍了动物医疗平台开发中涉及到的关键技术,说明开发用到的环境,包括idea开发工具、MySQL数据库、Tomcat服务器。详细介绍了开发用到的相关技术,包括MVC设计模式、Bootstrap前端框架、Ajax技术以及SSM框架技术。2 系统分析本章从功能需求,用例分析,非功能需求三个方面来

21、介绍该动物医疗平台的需求分析和系统设计思路。通过社会调研,国内外现状分析平台的应有的功能需求,通过用例图说明该平台角色应有的用例,并通过文字说明详细介绍了平台的非功能需求。2.1 需求分析 在以前,宠物的价值还没有提升,大多数养宠人士都没有去医院给宠物看病的习惯。如果家里或者朋友有懂医术的,就随便应付一下14。如果没有,最多也就是去附近的兽医店就医。随着社会生活水平的提高,越来越多的人开始有了宠物寄养,宠物医疗,宠物美容一系列的消费需求15。因此根据现在的社会趋势,对动物医疗平台的发展来说,是个很好的机会。通过调研国内和国外的现状,都没有一个比较成熟的平台供用户使用。在国内,根据数据统计,未来

22、的几年里,养宠人数必定呈剧增的趋势16。随着互联网时代的来临,各种行业开始通过网上平台进行服务。但是目前还没有以动物医疗为主题的平台17。在国外,虽然互联网的发展比国内发达,在市场上的动物医疗平台也出现了不少,但是国外的平台没有涉及到医疗知识和动物商品等方面。面对现在的市场需求,现有平台的内容显得不够丰富,模块不够全面,功能不够健全。总之没有一个很成熟的平台18。为了解决动物医疗行业现存在的问题,推动动物医疗行业的发展,为了满足现在用户所必需的服务要求,使该平台的发行能够赢得更多用户的信赖和支持19。因此该平台设计分为三个角色,分别是用户角色,医生角色,管理员角色。根据分析每个角色都应该具有不

23、同的权限和功能。用户具有了22个功能需求,医生具有13个功能需求,管理员具有16个功能需求。下面分别对三个角色的功能需求进行详细的介绍。2.1.1 用户需求分析(1) 用户登录:用户名、密码;(2) 用户退出登录;(3) 修改用户密码:用户名、原密码、新密码、确认密码;(4) 注册、修改用户信息:用户姓名、用户性别、用户手机号码、用户电子邮箱、用户微信号码、用户密码、确认密码、用户所在城市;(5) 查看动物医院信息:医院名称,医院照片;(6) 查看动物医院详细信息:动物医院名称,动物医院简介,动物医院电话,动物医院邮箱,动物医院所在地;(7) 查询指定地区的动物医院;(8) 查看动物医生信息:

24、动物医生姓名、动物医生的预订数量、预约价格、医生照片;(9) 查看动物医生详细信息:店家名称、预约价格、动物医生所在医院、动物医生工作经历;(10) 预约动物医生服务:在医生照片点击立即预约进入到该医生的预约界面,在此界面中填写预约动物姓名、动物年龄、动物所属品种、预约时间之后可进行预订;(11) 查看预约动物医生订单信息列表;(12) 查看平台最新公告信息;(13) 查看平台医疗小知识信息;(14) 查看平台关于我们信息;(15) 提交反馈:为管理员添加反馈信息;(16) 查看动物食品信息:商品名称,商品照片,商品价格;(17) 查看动物食品详细信息:动物食品名称,动物食品照片,动物食品价格

25、,动物食品简介,动物食品质量,动物食品生产日期,动物食品保质期,动物食品销量;(18) 查看动物食品评价信息:评价人姓名,评价时间,评价信息;(19) 添加动物食品评价;(20) 添加购物车:食品名称,商品数量,商品价格,商品总价;(21) 生成订单:食品序号,商品名称,商品单价,商品数量,商品小计,商品总价;(22) 选择、添加食品发货地址;2.1.2 医生需求分析(1) 医生登录:医生姓名,医生密码;(2) 注册、修改医生信息:医生姓名,上传医生照片,手机号码,电子邮箱,医生密码,确认医生密码,医生预订价格,预订市场价格,医生所在城市,医生姓名,医生所属医院,医生简介;(3) 医院注册:医

26、院名称,上传医院照片,医院电话,医院电子邮箱,医院地址,医院详细信息;(4) 查看用户订单:用户名,用户电话,用户微信,所在城市,下单时间,查看详情,订单状态;(5) 修改用户订单状态;(6) 查看用户订单详细:动物名,动物年龄,动物品种,预约时间; (7) 查看医生详细信息,查看医院详细信息;(8) 添加反馈,为管理员添加反馈信息;(9) 查看平台关于我们信息;(10) 查看平台医疗小知识信息;(11) 查看平台公告信息;(12) 医生退出登录;2.1.3 管理员需求分析(1) 管理员登录:后台管理员姓名,密码;(2) 管理员退出登录;(3) 用户管理:用户信息展示,用户状态的修改(激活和冻

27、结);(4) 动物统计图:查看用户注册猫类,犬类数量的柱状统计图;(5) 食品和类别管理:动物食品和类别的添加,删除,修改,展示;(6) 食品订单管理:用户订单信息的展示,指定订单的订单项信息;(7) 医生管理:医生信息展示,医生状态的修改(激活和冻结);(8) 医院管理:医院信息展示;(9) 动物科室管理:动物科室信息的添加,删除,修改,展示;(10) 反馈管理:用户反馈信息展示;(11) 关于我们管理:关于我们信息展示,添加,删除,修改;(12) 日志管理:管理员操作日志信息展示;(13) 用户医生登录日志管理:用户医生登录日志信息展示;(14) 修改密码日志管理:用户与医生修改密码日志信

28、息展示;(15) 公告管理:动物医疗平台公告的添加,修改,删除,展示;(16) 医疗知识管理:医疗知识的添加,修改,删除,展示;2.2 用例分析动物医疗平台的第一个功能是用户功能,根据动物医疗平台的用户用例图可以看出有用户为参与者,该参与者拥有10个用例,包括:登录,修改密码,注册,预约服务信息,公告信息,医疗知识信息,关于我们信息,反馈信息,购买宠物食品,修改账户信息。详情可见“动物医疗平台”的用例图如图2.1。图2.1 “动物医疗平台”的用例图动物医疗平台的第二个功能是医生功能,根据动物医疗平台的医生用例图可以看出有医生为参与者,9个用例,包括:登录,修改密码,注册,修改账户信息,用户订单

29、信息,反馈信息,公告信息,医疗知识信息,关于我们信息。详情可见“动物医疗平台”的用例图如图2.2。图2.2 “动物医疗平台”的用例图动物医疗平台的第三个功能是管理员功能,根据管理员用例图可以看出管理员为参与者,拥有10个用例,包括:登录,操作用户信息,操作食品信息,操作医生信息,操作医院信息,查看反馈信息,操作关于我们信息,查看日志信息,操作公告信息,操作医疗知识信息。详情可见“动物医疗平台”的用例图如图2.3。图2.3 “动物医疗平台”的用例图动物医疗平台的数据流图,说明了该平台的请求走向,其中用户对动物医疗平台的请求访问,医生对动物医疗平台的请求访问和管理员对动物医疗平台的请求访问。 “动

30、物医疗平台”系统的数据流图如图2.4。图2.4 “动物医疗平台”的数据流图2.3 非功能需求以上功能需求指的是动物医疗平台中需要具备的功能,除了这些功能需求之外,还需满足一些非功能性的需求分析。前端界面需求是为了给用户更好的体验,需要对界面的控件进行规范,对控件的使用范围进行一个限制。比如:确认按钮设计在右边,取消按钮设计在左边,用户在进行删除操作时,需要有删除提示。性能需求包括平台的响应时间和吞吐量、用户数量等几个方面,需要对平台进行压力测试,以此来对这些方面进行监控20。2.4 本章小结本章主要介绍了动物医疗平台的需求分析和用例分析,通过国内外调研进行三个角色的需求分析,包括用户需求用例分

31、析、医生用例需求分析和管理员用例需求分析。除此之外,还对平台进行了非功能需求的分析。3 系统设计3.1 系统总体设计3.1.1 体系结构设计系统的主体设计思想是MVC设计模式,分别是model层,view层,controller层,model层也叫做数据层,该层负责处理数据。view层也叫做视图层,负责处理图像,将图像返回给用户。controller层也叫做控制层,负责接收前台数据和返回后台数据。动物医疗平台体系结构如图3.1。图3.1 “动物医疗平台”系统的体系结构图3.2 “动物医疗平台”的模型从需求中可以得出系统的关键抽象包括:登录、用户、医生、管理员、预约服务、商城服务、医疗知识服务。

32、用户、医生和管理员可以统称为对象。每个对象拥有一个登录,每个登录对应一个对象;一个对象可以操作一个平台,平台可以被多个对象操作;一个平台有多个服务,一个服务在一个平台只能有一个。动物医疗平台软件结构如图3.2,该图描述了系统的模型。动物医疗平台软件结构是:JSP层显示视图,将数据传给controller层,controller层接受到数据,将数据传给service层,service层处理业务逻辑,通过调用dao层来获取数据库中的数据。dao层获取到指定数据之后,会将数据返回给service层,service层再返回给controller层,controller最后再返回给JSP层,这时获取的数

33、据会在视图上显示出来。动物医疗平台软件结构如图3.3。图3.3 “动物医疗平台”的软件结构图3.1.2 功能结构设计动物医疗平台共有三个主要角色,分别是用户角色,医生角色和管理员角色,用户角色功能包括登录,修改密码,注册,预约服务信息,公告信息,医疗知识信息,关于我们信息,反馈信息,购买宠物食品,修改账户信息。医生角色功能包括登录,注册,修改账户信息,用户订单信息,反馈信息,公告信息,医疗知识信息,关于我们信息。管理员角色功能包括登录,用户信息,食品信息,医生信息,医院信息,反馈信息,关于我们信息,日志信息,公告信息,医疗知识信息。“动物医疗平台”的功能结构如图3.4。图3.4 “动物医疗平台

34、”的功能结构图动物医疗平台的用户功能包括:登录,修改密码,注册,查看宠物医院信息,查看宠物医生信息,预约医生,查看预约订单信息,查看公告信息,查看医疗知识信息,查看关于我们信息,提交反馈,查看宠物食品信息,添加购物车,生成订单,添加订单地址,添加宠物食品评价,修改用户账户信息, “动物医疗平台”的用户结构如图3.5。图3.5 “动物医疗平台”的用户结构图动物医疗平台的医生功能包括:医生登录,医生注册,修改医生账户信息,查看用户订单信息,查看用户订单详细,接单服务,提交反馈,查看公告信息,查看医疗知识信息,查看关于我们信息。 “动物医疗平台”的医生结构如图3.6。图3.6 “动物医疗平台”的医生

35、结构图动物医疗平台的管理员功能包括:登录,操作用户信息,操作食品信息,操作食品分类信息,操作医生信息,操作医院信息,查看反馈信息,操作关于我们信息,查看登录日志信息,查看管理员操作日志信息,查看修改密码日志信息,操作公告信息,操作医疗知识信息。 “动物医疗平台”的管理员结构如图3.7。图3.7 “动物医疗平台”的管理员结构图3.2 系统详细设计图3.8 “动物医疗平台”的E-R图该动物医疗平台共有20个数据库表,通过PowerDesigner工具画E-R图描述了库表关系。表与表之间共有15个关系,其中有13个一对多关系,有2个多对多关系。动物医疗平台的E-R图如图3.821。3.2.1 表设计

36、表3.1 “动物医疗平台”的总表名表名功能说明user用户表reservation预订表password_log密码日志表notice公告表manual医疗知识表login_log登录日志表hospital医院表food_order食品订单表food_item订单项表 food_category食品类别表food_address发货地址表food食品表feedback反馈表department科室表doctor医生表comment评论表animal动物表admin_log管理员日志表admin管理员表about关于我们表动物医疗平台共20个数据库表,详情可见表3.1动物医疗平台总表名。该表详细

37、介绍了平台所用所有库表的表名以及相应的功能描述。下面通过数据库表的字段,数据类型数据长度,约束条件等字段对一些核心数据库表进行详细的分析。动物医疗平台用户表共有11个字段分别是用户ID、用户名、用户电话、账号状态、邮箱、性别、用户微信、盐密、盐、所在城市、用户注册日期,其中将用户ID设为该表的主键。详情可见动物医疗用户表3.2。表3.2 “动物医疗平台”的用户表user列名数据类型长度(小数)约束条件其它说明Idvarchar40(0)PRIMARY KEY用户IDloginnamevarchar40(0)用户名phonevarchar40(0)用户电话statusint1(0)账号状态wec

38、hatvarchar20(0)用户微信create_datetimestamp0注册日期sexvarchar10(0)性别cityvarchar10(0)城市saltvarchar40(0)盐salt_keyvarchar40(0)盐密emailvarchar40(0)邮箱动物医疗平台医生表有14个字段分别是医生ID、医生姓名、医生照片、盐、盐密、状态、医生简介、预订数量、性别、所在城市、手机号码、预约价格、预约原价。其中将医生ID设为该表的主键,医院ID设为该表的外键,通过该字段与医院表建立相应的关系。详情可见动物医疗平台医生表3.3。表3.3“动物医疗平台”的医生表doctor列名数据类型

39、长度(小数)约束条件其它说明Idvarchar40(0)PRIMARY KEY医生IDdoctor_namevarchar40(0)医生姓名doctor_imgvarchar100(0)医生照片saltvarchar40(0)盐salt_keyvarchar40(0)盐密statusint1(0)账号状态birefvarchar500(0)医生简介book_countint10(0)预约数量sexvarchar10(0)医生性别cityvarchar10(0)所在城市phonevarchar40(0)手机号码npricedouble10(2)预约价格opricedouble10(2)预约原价h

40、ospital_idvarchar40(0)FOREIGN KEY医院ID动物医疗平台预订表有6个字段分别是预约ID、预约状态、预约时间、用户ID、医生ID、动物ID。其中将预约ID设为该表的主键,将用户ID、医生ID、动物ID设为外键。通过该字段与用户表、医生表、动物表建立相应的关系。详情可见动物医疗平台预约表3.4。表3.4 “动物医疗平台”的预订表reservation列名数据类型长度(小数)约束条件其它说明Idvarchar40(0)PRIMARY KEY预约IDbook_statusint10(0)预约状态book_timetimestamp0预约时间user_idvarchar40

41、(0)FOREIGN KEY用户IDdoctor_idvarchar40(0)FOREIGN KEY医生IDanimal_idvarchar40(0)FOREIGN KEY动物ID动物医疗平台食品表有11个字段分别是食品ID,食品名,食品图片,食品介绍,原价格,新价格,重量,销量,保质期,生产日期,类别ID。其中将食品ID设为该表的主键,将类别ID设为外键。通过该字段与类别表建立相应的关系。详情可见动物医疗平台食品表3.5。表3.5 “动物医疗平台”系统的食品表food列名数据类型长度(小数)约束条件其它说明Idvarchar40(0)PRIMARY KEY食品IDfood_namevarch

42、ar40(0)食品名food_imgvarchar500(0)食品图片introductionvarchar500(0)食品介绍old_pricedouble10(2)原价格new_pricedouble10(2)新价格weightdouble10(2)重量salt_countint20(0)销量quality_timecreate_datecate_idtimestamptimestampvarchar0(0)0(0)40(0)FOREIGN KEY保质期生产日期类别ID动物医疗平台订单表有8个字段分别是订单ID,订单编号名,订单时间,发货人姓名,发货地址,总价,地址ID,用户ID。其中将食

43、品订单ID设为该表的主键,将地址ID和用户ID设为该表外键。通过该字段与地址表、用户表建立相应的关系。详情可见动物医疗平台食品表3.6。表3.6 “动物医疗平台”系统的用户表food_order列名数据类型长度(小数)约束条件其它说明Idvarchar40(0)PRIMARY KEY食品订单IDorder_numbervarchar40(0)订单编号名order_timestimestamp0(0)生成时间addr_uservarchar40(0)发货人姓名addr_namevarchar40(0)发货地址total_pricedouble10(2)总价addr_idvarchar40(0)F

44、OREIGN KEY地址IDuser_idvarchar40(0)FOREIGN KEY用户ID3.2.2 系统功能设计下面将会介绍平台的4个核心功能的设计。分别是用户预约医生功能,医生接单功能,管理员查看用户反馈功能,用户修改密码日志功能。首先介绍功能的时序图,然后描述功能的运行流程,最后通过列表形式介绍实现该功能使用到的类以及使用的原因。(1) 用户预约医生功能该动物医疗平台设计的初衷就是为了方便养宠人士到动物医院给宠物看病。用户预约医生功能可以实现用户在线上预约动物医生,成功解决了线下看病难,看病麻烦,看病不方便以及不快捷等问题。通过该功能的实现,用户可以提前在该平台进行预约,不用再为到

45、动物医院排队挂号的问题而担忧。因此该功能是本平台所必需的,也是最核心的一个功能。预约医生时序图如图3.9。图3.9 “动物医疗平台”的预约医生时序图预约医生是平台的核心功能之一。首先用户可以在book-doctor-list.jsp页面看到医生的详细信息,可以在该页面进行预订,输入必填的预约信息之后,该界面会将数据传给ReservationController页面,进行数据的验证之后,将数据传给ReservationServiceImpl层,该层负责处理功能的业务,通过调用dao层来获取数据库中的数据。最后将逐层返回到book-doctor-list.jsp界面,将最后的视图显示给用户。详情可

46、见表“动物医疗平台”的预约医生表3.7。表3.7 “动物医疗平台”的预约医生表编号类名或方法名功能描述 1book-doctor-list.jsp显示医生预订界面,输入预约信息之后,以POST请求方式提交给ReservationController。 2ReservationController判断用户是否登录,没有登录跳转到登录界面,如果登录将数据传给ReservationServiceImpl。 3ReservationServiceReservationServiceImpl的接口。 4ReservationServiceImpl处理预订医生业务,调用Dao层的方法并将数据传给Dao层

47、5ReservationDaoReservationDaoMapper.xml的接口。 6ReservationDaoMapper.xml存放sql语句,通过sql语句获取数据库中的数据,之后逐层返回到jsp页面显示。(2) 医生接单功能用户在预订宠物医生之后,该宠物医生会接受到预订用户的相关信息,包括用户的姓名,预约时间,宠物的品种等等。获取到这些信息之后,宠物医生才方便进行用户到店之前的准备工作。医生接单时序图如图3.10。图3.10 “动物医疗平台”的医生接单时序图医生接单功能是平台的核心功能之一,用户预订医生之后,用户有必要知道自己的订单信息。医生接单功能,首先doctor-books

48、.jsp获取到修改订单状态的数据,将该数据通过get方式提交给ReservationController,进行信息的验证。接着通过调用ReservationServiceImpl层的方法,处理修改订单状态的业务逻辑,在该层将数据传给Dao层,通过Dao层连接数据库,修改数据库中的数据,最后逐层返回给doctor-books.jsp页面进行显示。详情可见表“动物医疗平台”的查看医生接单表3.8。表3.8 “动物医疗平台”的医生接单表编号类名或方法名功能描述 1doctor-books.jsp显示用户预订单界面,可以查看已预订的所有用户信息,以get请求方式提交给ReservationContro

49、ller。 2ReservationController获取到数据,将数据传给ReservationServiceImpl。 3ReservationServiceReservationServiceImpl的接口。 4ReservationServiceImpl处理修改用户预订单状态业务,调用Dao层的方法并将数据传给Dao层 5ReservationDaoReservationDaoMapper.xml的接口。 6ReservationDaoMapper.xml存放sql语句,通过sql语句获取数据库中的数据,之后逐层返回到doctor-books.jsp页面显示。(3) 管理员查看用户反

50、馈信息功能用户在使用平台的时候,网页卡顿、服务器崩溃等问题在所难免。因此需要提交反馈功能。用户在前台提交反馈信息给管理员之后,管理员需要获取到用户的反馈信息,才可进一步对平台进行完善。查看用户反馈信息时序图如图3.11。图3.11 “动物医疗平台”的查看反馈信息时序图管理员查看用户反馈信息功能,是查看前台用户所提交的反馈信息。首先在feedback.jsp页面,通过ajax技术获取FeedbackController所传递的数据,在FeedbackController对信息进行验证,通过调用FeedbackServiceImpl中的方法,处理查看所有用户反馈信息的业务逻辑,在该层通过调用Dao

51、层与数据库进行连接,从数据库中获取所有用户反馈的信息,最好逐层反馈给feedback.jsp页面进行展示。详情可见表“动物医疗平台”的查看用户反馈信息表3.9。表3.9 “动物医疗平台”的查看反馈信息表编号类名或方法名功能描述 1feedback.jsp显示查看用户反馈信息界面,可以查看所有用户的反馈信息,以ajax方式获取FeedbackController传递的数据。 2FeedbackController将数据传给FeedbackServiceImpl。 3FeedbackServiceFeedbackServiceImpl的接口。 4FeedbackServiceImpl处理获取所有用

52、户反馈信息业务,调用Dao层的方法并将数据传给Dao层。 5FeedbackDaoFeedbackDaoMapper.xml的接口。 6FeedbackDaoMapper.xml存放sql语句,通过sql语句获取数据库中的数据,之后逐层返回到feedback.jsp页面显示。(4)用户修改密码日志功能用户和医生在注册之后,为了提高用户和医生账号的安全性,防止恶意修改密码,管理员需要对这两个角色修改密码的信息进行记录和查看。因此以用户为例,添加用户修改密码日志时序图如图3.12。图3.12 “动物医疗平台”的添加用户修改密码日志时序图添加用户修改密码日志功能,对用户修改密码操作的日志进行保存。该

53、功能涉及到Spring的aop技术首先在PasswordLogAspect中进行日志对象的封装,在该层将封装好的数据传给PasswordLogServiceImpl,需要提前在mybatis+spring.xml配置文件中配置切面和切点,将设置好的动态代理类加在PasswordLogServiceImpl上。PasswordLogServiceImpl接受到数据,将数据传给dao层,通过dao层连接数据库,将数据添加到数据库中,最后逐层返回。详情可见表“动物医疗平台”的添加用户修改密码日志表3.10。表3.10 “动物医疗平台”的添加用户修改密码日志表编号类名或方法名功能描述 1Passwor

54、dLogAspect动态代理类,用户在进行修改密码操作时,执行该类,进行添加日志操作,将封装好的对象,传给PasswordLogServiceImpl。 2UserServiceImpl主体类,用户修改密码的业务逻辑层。 3mybatis+spring.xmlspring和mybatis的配置文件,在里面配置切面和切点,将动态代理类加在主体类上。 4PasswordLogServicePasswordLogServiceImpl的接口。 5PasswordLogServiceImpl接收到数据,调用dao层的方法,将数据传给dao层。 6PasswordLogDaoPasswordLogMap

55、per.xml的接口。 7PasswordLogMapper.xml存放sql语句,通过sql语句将数据添加到数据库,之后逐层返回。3.3 本章小结本章介绍了动物医疗平台的系统设计,总体包括动物医疗平台的总体设计和详细设计,系统的总体设计主要介绍该平台的大体功能,先是通过体系结构介绍了平台的设计模式,随后介绍了平台整体软件结构,最后介绍了平台整体功能的结构。系统的详细设计主要展示了平台的E-R图,平台所拥有的数据库表、并通过时序图介绍了平台核心功能的详细设计。4 系统实现4.1 开发环境动物医疗平台的开发环境可分为硬件环境和软件工具,详情可见表4.1动物医疗平台的硬件环境和表4.2动物医疗平台的软件工具。根据动物医疗平台

温馨提示

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

评论

0/150

提交评论